Hello,
I’ve got a really weird problem, I’ve the following XML
void Main()
{
string xml=
@"
<Deals>
<Deal>
<Type>FxDepo</Type>
<Id>5726479</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdDivisa>2</IdDivisa>
<IdIstituto>0</IdIstituto>
<Data>2016-01-15T00:00:00.000</Data>
<Ora>2016-01-15T00:00:00.000</Ora>
<Segno>0</Segno>
<Nominale>600000.00</Nominale>
<Tasso>0.200000</Tasso>
<Interessi>-760.00</Interessi>
<ValutaSpot>2015-11-12T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-06-27T00:00:00.000</ValutaTermine>
<IdCtp>2</IdCtp>
<IdStato>0</IdStato>
<CostoSostituzioneMtm>0.00</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>0.00</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>0.00</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>0.00</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726494</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T10:30:00.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1000000.00</QtaDiv1>
<QtaDiv2>-1500000.00</QtaDiv2>
<QtaDiv1Termine>1304257.10</QtaDiv1Termine>
<QtaDiv2Termine>-1000000.00</QtaDiv2Termine>
<Cambio>1.500000</Cambio>
<CambioTermine>1.150080</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-23T00:00:00.000</ValutaTermine>
<IdCtp>2</IdCtp>
<IdStato>0</IdStato>
<Pips>-0.733280</Pips>
<TassoDiv1>1.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-439024.39</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-439024.39</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-439024.39</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-439024.39</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726495</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T10:30:00.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1000000.00</QtaDiv1>
<QtaDiv2>-1500000.00</QtaDiv2>
<QtaDiv1Termine>1304257.10</QtaDiv1Termine>
<QtaDiv2Termine>-1000000.00</QtaDiv2Termine>
<Cambio>1.500000</Cambio>
<CambioTermine>1.150080</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-23T00:00:00.000</ValutaTermine>
<IdCtp>2</IdCtp>
<IdStato>0</IdStato>
<Pips>-0.733280</Pips>
<TassoDiv1>1.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-439024.39</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-439024.39</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-439024.39</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-439024.39</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726496</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T10:30:00.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1000000.00</QtaDiv1>
<QtaDiv2>-1500000.00</QtaDiv2>
<QtaDiv1Termine>1304257.10</QtaDiv1Termine>
<QtaDiv2Termine>-1000000.00</QtaDiv2Termine>
<Cambio>1.500000</Cambio>
<CambioTermine>1.150080</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-23T00:00:00.000</ValutaTermine>
<IdCtp>2</IdCtp>
<IdStato>0</IdStato>
<Pips>-0.733280</Pips>
<TassoDiv1>1.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-439024.39</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-439024.39</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-439024.39</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-439024.39</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726497</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T10:30:00.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1000000.00</QtaDiv1>
<QtaDiv2>-1500000.00</QtaDiv2>
<QtaDiv1Termine>1304257.10</QtaDiv1Termine>
<QtaDiv2Termine>-1000000.00</QtaDiv2Termine>
<Cambio>1.500000</Cambio>
<CambioTermine>1.150080</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-23T00:00:00.000</ValutaTermine>
<IdCtp>2</IdCtp>
<IdStato>0</IdStato>
<Pips>-0.733280</Pips>
<TassoDiv1>1.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-439024.39</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-439024.39</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-439024.39</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-439024.39</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726498</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T10:30:00.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1000000.00</QtaDiv1>
<QtaDiv2>-1500000.00</QtaDiv2>
<QtaDiv1Termine>1304257.10</QtaDiv1Termine>
<QtaDiv2Termine>-1000000.00</QtaDiv2Termine>
<Cambio>1.500000</Cambio>
<CambioTermine>1.150080</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-23T00:00:00.000</ValutaTermine>
<IdCtp>2</IdCtp>
<IdStato>0</IdStato>
<Pips>-0.733280</Pips>
<TassoDiv1>1.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-439024.39</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-439024.39</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-439024.39</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-439024.39</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726499</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T10:30:00.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1000000.00</QtaDiv1>
<QtaDiv2>-1500000.00</QtaDiv2>
<QtaDiv1Termine>1304257.10</QtaDiv1Termine>
<QtaDiv2Termine>-1000000.00</QtaDiv2Termine>
<Cambio>1.500000</Cambio>
<CambioTermine>1.150080</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-23T00:00:00.000</ValutaTermine>
<IdCtp>2</IdCtp>
<IdStato>0</IdStato>
<Pips>-0.733280</Pips>
<TassoDiv1>1.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-439024.39</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-439024.39</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-439024.39</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-439024.39</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726500</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T10:30:00.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1000000.00</QtaDiv1>
<QtaDiv2>-1500000.00</QtaDiv2>
<QtaDiv1Termine>1304257.10</QtaDiv1Termine>
<QtaDiv2Termine>-1000000.00</QtaDiv2Termine>
<Cambio>1.500000</Cambio>
<CambioTermine>1.150080</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-23T00:00:00.000</ValutaTermine>
<IdCtp>2</IdCtp>
<IdStato>0</IdStato>
<Pips>-0.733280</Pips>
<TassoDiv1>1.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-439024.39</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-439024.39</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-439024.39</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-439024.39</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726501</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T10:30:00.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1000000.00</QtaDiv1>
<QtaDiv2>-1500000.00</QtaDiv2>
<QtaDiv1Termine>1304257.10</QtaDiv1Termine>
<QtaDiv2Termine>-1000000.00</QtaDiv2Termine>
<Cambio>1.500000</Cambio>
<CambioTermine>1.150080</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-23T00:00:00.000</ValutaTermine>
<IdCtp>2</IdCtp>
<IdStato>0</IdStato>
<Pips>-0.733280</Pips>
<TassoDiv1>1.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-439024.39</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-439024.39</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-439024.39</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-439024.39</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726502</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T13:47:36.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1.00</QtaDiv1>
<QtaDiv2>-2.00</QtaDiv2>
<QtaDiv1Termine>-2.00</QtaDiv1Termine>
<QtaDiv2Termine>0.40</QtaDiv2Termine>
<Cambio>2.000000</Cambio>
<CambioTermine>5.000000</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-26T00:00:00.000</ValutaTermine>
<IdCtp>0</IdCtp>
<IdStato>0</IdStato>
<Pips>-1.800000</Pips>
<TassoDiv1>0.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-1.25</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-1.25</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-1.25</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-1.25</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726503</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>5</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T13:48:50.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1.00</QtaDiv1>
<QtaDiv2>-2.00</QtaDiv2>
<QtaDiv1Termine>-2.00</QtaDiv1Termine>
<QtaDiv2Termine>0.40</QtaDiv2Termine>
<Cambio>2.000000</Cambio>
<CambioTermine>5.000000</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-26T00:00:00.000</ValutaTermine>
<IdCtp>0</IdCtp>
<IdStato>0</IdStato>
<Pips>-1.800000</Pips>
<TassoDiv1>0.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-0.72</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-1.02</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-0.72</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-1.02</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726504</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>5</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T13:48:50.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1.00</QtaDiv1>
<QtaDiv2>-2.00</QtaDiv2>
<QtaDiv1Termine>-2.00</QtaDiv1Termine>
<QtaDiv2Termine>0.40</QtaDiv2Termine>
<Cambio>2.000000</Cambio>
<CambioTermine>5.000000</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-26T00:00:00.000</ValutaTermine>
<IdCtp>0</IdCtp>
<IdStato>0</IdStato>
<Pips>-1.800000</Pips>
<TassoDiv1>0.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-0.72</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-1.02</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-0.72</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-1.02</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726506</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T14:39:08.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1.00</QtaDiv1>
<QtaDiv2>-2.00</QtaDiv2>
<QtaDiv1Termine>-2.00</QtaDiv1Termine>
<QtaDiv2Termine>-0.40</QtaDiv2Termine>
<Cambio>2.000000</Cambio>
<CambioTermine>5.000000</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-26T00:00:00.000</ValutaTermine>
<IdCtp>0</IdCtp>
<IdStato>0</IdStato>
<Pips>-2.200000</Pips>
<TassoDiv1>0.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-1.25</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-1.25</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-1.25</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-1.25</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726508</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>14</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T15:32:35.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1.000000</QtaDiv1>
<QtaDiv2>-2.000000</QtaDiv2>
<QtaDiv1Termine>-2.000000</QtaDiv1Termine>
<QtaDiv2Termine>-0.400000</QtaDiv2Termine>
<Cambio>2.000000</Cambio>
<CambioTermine>5.000000</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-26T00:00:00.000</ValutaTermine>
<IdCtp>0</IdCtp>
<IdStato>0</IdStato>
<Pips>-2.200000</Pips>
<TassoDiv1>0.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>0.000000</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>0.000000</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>0.000000</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>0.000000</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxForward</Type>
<Id>5726509</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T15:45:34.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1000000.00</QtaDiv1>
<QtaDiv2>-1250000.00</QtaDiv2>
<Cambio>1.200000</Cambio>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-26T00:00:00.000</ValutaTermine>
<IdCtp>15540</IdCtp>
<IdStato>0</IdStato>
<Pips>0.050000</Pips>
<TassoDiv1>0.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>25406.50</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>25406.50</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>25406.50</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>25406.50</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726510</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>7</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-12T00:00:00.000</Data>
<Ora>2016-02-12T16:04:24.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1.00</QtaDiv1>
<QtaDiv2>-2.00</QtaDiv2>
<QtaDiv1Termine>0.40</QtaDiv1Termine>
<QtaDiv2Termine>-2.00</QtaDiv2Termine>
<Cambio>2.000000</Cambio>
<CambioTermine>5.000000</CambioTermine>
<ValutaSpot>2016-02-16T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-25T00:00:00.000</ValutaTermine>
<IdCtp>0</IdCtp>
<IdStato>0</IdStato>
<Pips>3.000000</Pips>
<TassoDiv1>0.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>-1.74</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>-1.74</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>-1.74</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>-1.74</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726521</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>9</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-15T00:00:00.000</Data>
<Ora>2016-02-15T08:29:37.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1.50</QtaDiv1>
<QtaDiv2>-3.00</QtaDiv2>
<QtaDiv1Termine>0.60</QtaDiv1Termine>
<QtaDiv2Termine>-3.00</QtaDiv2Termine>
<Cambio>2.000000</Cambio>
<CambioTermine>5.000000</CambioTermine>
<ValutaSpot>2016-02-17T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-24T00:00:00.000</ValutaTermine>
<IdCtp>0</IdCtp>
<IdStato>0</IdStato>
<Pips>3.000000</Pips>
<TassoDiv1>0.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>0.00</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>0.00</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>0.00</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>0.00</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726522</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>2</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-15T00:00:00.000</Data>
<Ora>2016-02-15T10:24:40.000</Ora>
<Segno>0</Segno>
<QtaDiv1>4.00</QtaDiv1>
<QtaDiv2>-4.00</QtaDiv2>
<QtaDiv1Termine>1.33</QtaDiv1Termine>
<QtaDiv2Termine>-4.00</QtaDiv2Termine>
<Cambio>1.000000</Cambio>
<CambioTermine>3.000000</CambioTermine>
<ValutaSpot>2016-02-17T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-29T00:00:00.000</ValutaTermine>
<IdCtp>0</IdCtp>
<IdStato>0</IdStato>
<Pips>2.000001</Pips>
<TassoDiv1>1.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>1.50</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>1.50</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>1.50</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>1.50</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxForward</Type>
<Id>5726540</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>14</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-19T00:00:00.000</Data>
<Ora>2016-02-19T16:12:02.000</Ora>
<Segno>0</Segno>
<QtaDiv1>2.000000</QtaDiv1>
<QtaDiv2>-5.000000</QtaDiv2>
<Cambio>2.000000</Cambio>
<ValutaSpot>2016-02-23T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-25T00:00:00.000</ValutaTermine>
<IdCtp>0</IdCtp>
<IdStato>0</IdStato>
<Pips>0.500000</Pips>
<TassoDiv1>0.111000</TassoDiv1>
<Uti>test</Uti>
<CostoSostituzioneMtm>0.000000</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>0.000000</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>0.000000</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>0.000000</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxSpot</Type>
<Id>5726543</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>5</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-22T00:00:00.000</Data>
<Ora>2016-02-22T10:49:54.000</Ora>
<Segno>0</Segno>
<QtaDiv1>1548.00</QtaDiv1>
<QtaDiv2>-1925.71</QtaDiv2>
<Cambio>1.244000</Cambio>
<ValutaSpot>2016-02-24T00:00:00.000</ValutaSpot>
<IdCtp>0</IdCtp>
<IdStato>0</IdStato>
<CostoSostituzioneMtm>237.99</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>335.20</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>237.99</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>335.20</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxForward</Type>
<Id>5726544</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>11</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-22T00:00:00.000</Data>
<Ora>2016-02-22T10:56:13.000</Ora>
<Segno>0</Segno>
<QtaDiv1>10000.00</QtaDiv1>
<QtaDiv2>-11550.00</QtaDiv2>
<Cambio>1.055000</Cambio>
<ValutaSpot>2016-02-24T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-29T00:00:00.000</ValutaTermine>
<IdCtp>548</IdCtp>
<IdStato>0</IdStato>
<Pips>0.100000</Pips>
<TassoDiv1>0.000000</TassoDiv1>
<Uti>uti test</Uti>
<CostoSostituzioneMtm>0.00</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>0.00</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>0.00</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>0.00</CostoSostituzioneContrattoEUR>
</Deal>
<Deal>
<Type>FxCurrencySwap</Type>
<Id>5726545</Id>
<IdPortafoglio>54</IdPortafoglio>
<IdCoppiaDivise>10</IdCoppiaDivise>
<IdIstituto>0</IdIstituto>
<Data>2016-02-22T00:00:00.000</Data>
<Ora>2016-02-22T10:58:21.000</Ora>
<Segno>0</Segno>
<QtaDiv1>10000.00</QtaDiv1>
<QtaDiv2>-10000.00</QtaDiv2>
<QtaDiv1Termine>-2500.00</QtaDiv1Termine>
<QtaDiv2Termine>10000.00</QtaDiv2Termine>
<Cambio>1.000000</Cambio>
<CambioTermine>4.000000</CambioTermine>
<ValutaSpot>2016-02-24T00:00:00.000</ValutaSpot>
<ValutaTermine>2016-02-29T00:00:00.000</ValutaTermine>
<IdCtp>15877</IdCtp>
<IdStato>0</IdStato>
<Pips>3.000000</Pips>
<TassoDiv1>0.000000</TassoDiv1>
<Uti></Uti>
<CostoSostituzioneMtm>0.00</CostoSostituzioneMtm>
<CostoSostituzioneMtmEUR>0.00</CostoSostituzioneMtmEUR>
<CostoSostituzioneContratto>0.00</CostoSostituzioneContratto>
<CostoSostituzioneContrattoEUR>0.00</CostoSostituzioneContrattoEUR>
</Deal>
</Deals>
</PortfolioDealsEvaluation>
";
var r = ServiceStack.Text.XmlSerializer.DeserializeFromString<ReplacementCostPortfolioWrapper>(xml);
r.Dump();
}
[DataContract(Namespace = "", Name = "PortfolioDealsEvaluation")]
public class ReplacementCostPortfolioWrapper
{
[DataMember(Name = "Deals", Order = 1)]
public List<ValuedDeal> Items { get; set; }
[DataMember(Name = "Message", Order = 2)]
public string Message { get; set; }
}
// Define other methods and classes here
[DataContract(Namespace = "", Name = "Deal")]
public class ValuedDeal
{
[DataMember(Name = "Type", Order = 1)]
public string Type { get; set; }
[DataMember(Name = "Id", Order = 2)]
public int Id { get; set; }
[DataMember(Name = "IdPortafoglio", Order = 3)]
public int IdPortfolio { get; set; }
[DataMember(Name = "IdDivisa", Order = 4)]
public int? IdCurrency { get; set; }
[DataMember(Name = "IdCoppiaDivise", Order = 5)]
public int? IdCurrencyPair { get; set; }
[DataMember(Name = "IdIstituto", Order = 6)]
public int IdInstitute { get; set; }
[DataMember(Name = "Data", Order = 7)]
public DateTime Date { get; set; }
[DataMember(Name = "Ora", Order = 8)]
public DateTime Hour { get; set; }
[DataMember(Name = "Segno", Order = 9)]
public int IdSign { get; set; }
[DataMember(Name = "Nominale", Order = 10)]
public double? Nominal { get; set; }
[DataMember(Name = "Tasso", Order = 11)]
public double? Rate { get; set; }
[DataMember(Name = "Interessi", Order = 12)]
public double? Interest { get; set; }
[DataMember(Name = "QtaDiv1", Order = 13)]
public double? QuantityDiv1 { get; set; }
[DataMember(Name = "QtaDiv2", Order = 14)]
public double? QuantityDiv2 { get; set; }
[DataMember(Name = "Cambio", Order = 15)]
public double? Exchange { get; set; }
[DataMember(Name = "ValutaSpot", Order = 16)]
public DateTime? ValueSpot { get; set; }
[DataMember(Name = "ValutaTermine", Order = 17)]
public DateTime? ValueTerm { get; set; }
[DataMember(Name = "IdCtp", Order = 18)]
public int IdCounterpart { get; set; }
[DataMember(Name = "IdStato", Order = 19)]
public int IdStatus { get; set; }
[DataMember(Name = "Pips", Order = 20)]
public double? Pips { get; set; }
[DataMember(Name = "TassoDiv1", Order = 21)]
public double? RateDiv1 { get; set; }
[DataMember(Name = "Uti", Order = 22)]
public string Uti { get; set; }
[DataMember(Name = "QtaDiv1Termine", Order = 23)]
public double QuantityDiv1End { get; set; }
[DataMember(Name = "QtaDiv2Termine", Order = 24)]
public double QuantityDiv2End { get; set; }
[DataMember(Name = "CambioTermine", Order = 25)]
public double ExchangeTerm { get; set; }
[DataMember(Name = "CostoSostituzioneMtm", Order = 26)]
public double ReplacementCostMtm { get; set; }
[DataMember(Name = "CostoSostituzioneMtmEUR", Order = 27)]
public double ReplacementCostMtmEur { get; set; }
[DataMember(Name = "CostoSostituzioneContratto", Order = 28)]
public double ReplacementCostContract { get; set; }
[DataMember(Name = "CostoSostituzioneContrattoEUR", Order = 29)]
public double ReplacementCostContractEur { get; set; }
}
I’ve got problem with the Cambio (Excanghe field). If I put this under the QtaDiv1Termine or QtaDiv2Termine it works… otherwise it returns null. In past I resolved those using the Order property of the DataMemberAttribute but now it doesn’t work.
Please consider my class is used to serialize different types of Deal ans so here I’ve all the possible fields exposed.
How can I fix this?Thanks