public List <GerenciaTreeTipoPago> Agrupador(List <GerenciaTipoPago> data) { var list = new List <GerenciaTreeTipoPago>(); string[] agrupadores = { "INGRESOS", "EGRESOS" }; foreach (var agrupador in agrupadores) { var oGerenciaTreeTipoPago = new GerenciaTreeTipoPago(); var comprobantes = data.FindAll(p => p.Agrupador == agrupador).GroupBy(g => g.Comprobante) .Select(s => s.First()).ToList(); oGerenciaTreeTipoPago.Agrupador = agrupador; oGerenciaTreeTipoPago.Cantidad = comprobantes.Count; oGerenciaTreeTipoPago.Total = comprobantes.Sum(s => s.Importe); list.Add(oGerenciaTreeTipoPago); } return(list); }
public List <GerenciaTreeTipoPago> Agrupador_(List <GerenciaTipoPago> data) { var list = new List <GerenciaTreeTipoPago>(); var oGerenciaTreeTipoPago = new GerenciaTreeTipoPago(); var countEgresos = data.FindAll(p => p.Agrupador == "EGRESOS").ToList(); oGerenciaTreeTipoPago.Cantidad = countEgresos.Count; oGerenciaTreeTipoPago.Agrupador = "EGRESOS"; var totalEgresos = countEgresos.Sum(s => s.Importe); oGerenciaTreeTipoPago.Total = totalEgresos; list.Add(oGerenciaTreeTipoPago); oGerenciaTreeTipoPago = new GerenciaTreeTipoPago(); var countIngresos = data.FindAll(p => p.Agrupador == "INGRESOS").GroupBy(g => g.Comprobante).Select(s => s.First()).ToList(); oGerenciaTreeTipoPago.Cantidad = countIngresos.Count; oGerenciaTreeTipoPago.Agrupador = "INGRESOS"; oGerenciaTreeTipoPago.Total = countIngresos.Sum(s => s.Importe); list.Add(oGerenciaTreeTipoPago); return(list); }