breezback
asked on
Linq2Xml - How to Group, Join and Sum etc..
I'm trying to join between two XML on AccountId and group by AccountId to aggregate the transactions.
The XMLs look like:
<Accounts>
<Account Id="100" Name="MyAccount1"/>
<Account Id="99" Name="MyAccount2"/>
<Account Id="88" Name="MyAccount3"/>
<Accounts>
<Transactions>
<Transaction AccountId="100" Amount="250.00" PurchaseDate="12/04/2010"/ >
<Transaction AccountId="100" Amount="500.00" PurchaseDate="11/04/2010"/ >
<Transaction AccountId="99" Amount="600.00" PurchaseDate="12/04/2010"/ >
<Transaction AccountId="99" Amount="250.00" PurchaseDate="20/04/2010"/ >
<Accounts>
I would like my output to be a collection of objects like this:
AccountName="MyAccount1" AccountId="100" Balance="750.00" LastUpdate="12/04/2010"
AccountName="MyAccount2" AccountId="99" Balance="850.00" LastUpdate="20/04/2010"
LastUpdate should be the last purchase date on the transaction group.
Balance should be the aggregation (Sum) of the amounts in the transaction.
I'm not interested in Accounts that don't have transactions (like AccountId="88")
I'd like C# code pls.
The XMLs look like:
<Accounts>
<Account Id="100" Name="MyAccount1"/>
<Account Id="99" Name="MyAccount2"/>
<Account Id="88" Name="MyAccount3"/>
<Accounts>
<Transactions>
<Transaction AccountId="100" Amount="250.00" PurchaseDate="12/04/2010"/
<Transaction AccountId="100" Amount="500.00" PurchaseDate="11/04/2010"/
<Transaction AccountId="99" Amount="600.00" PurchaseDate="12/04/2010"/
<Transaction AccountId="99" Amount="250.00" PurchaseDate="20/04/2010"/
<Accounts>
I would like my output to be a collection of objects like this:
AccountName="MyAccount1" AccountId="100" Balance="750.00" LastUpdate="12/04/2010"
AccountName="MyAccount2" AccountId="99" Balance="850.00" LastUpdate="20/04/2010"
LastUpdate should be the last purchase date on the transaction group.
Balance should be the aggregation (Sum) of the amounts in the transaction.
I'm not interested in Accounts that don't have transactions (like AccountId="88")
I'd like C# code pls.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.