public Banco GroupContaCorrente(Banco banco) { var contaCorrenteGrouped = from contacorrentes in banco.ContaCorrenteList group contacorrentes by new { contacorrentes.DataAbertura, contacorrentes.NomeCliente } into g select new ContaCorrente { DataAbertura = g.Key.DataAbertura, NomeCliente = g.Key.NomeCliente, Saldo = g.Sum(s => s.Saldo), Limite = g.Sum(l => l.Limite) }; _bancoReturn = new Banco(); _bancoReturn.ContaCorrenteList = new List<ContaCorrente>(); contaCorrenteGrouped.ToList().ForEach(Add); return _bancoReturn; }
public void Setup() { _contaCorrentList = new List<ContaCorrente>(); var contaCorrente = new ContaCorrente { Agencia = "1000", DataAbertura = new DateTime(2014,5,6), Limite =Convert.ToDecimal(1500.00), NomeCliente = "Edilson", Numero = "010205100", Saldo = Convert.ToDecimal(10.000) }; _contaCorrentList.Add(contaCorrente); contaCorrente = new ContaCorrente { Agencia = "1000", DataAbertura = new DateTime(2014,5,6), Limite =Convert.ToDecimal(1000.00), NomeCliente = "Edilson", Numero = "010205101", Saldo = Convert.ToDecimal(10.000) }; _contaCorrentList.Add(contaCorrente); contaCorrente = new ContaCorrente { Agencia = "1000", DataAbertura = new DateTime(2014,5,6), Limite =Convert.ToDecimal(1000.00), NomeCliente = "Edilson", Numero = "010205102", Saldo = Convert.ToDecimal(10.000) }; _contaCorrentList.Add(contaCorrente); contaCorrente = new ContaCorrente { Agencia = "1000", DataAbertura = new DateTime(2014,5,7), Limite =Convert.ToDecimal(1000.00), NomeCliente = "Edilson", Numero = "010205103", Saldo = Convert.ToDecimal(10.000) }; _contaCorrentList.Add(contaCorrente); contaCorrente = new ContaCorrente { Agencia = "1000", DataAbertura = new DateTime(2014,5,7), Limite =Convert.ToDecimal(2000.00), NomeCliente = "Ana Paula", Numero = "010205104", Saldo = Convert.ToDecimal(10.000) }; _contaCorrentList.Add(contaCorrente); _banco = new Banco { ContaCorrenteList = _contaCorrentList }; }