public InformePagoCuotasPorMesVM PagoCuotasPorMesMap() { var vm = new InformePagoCuotasPorMesVM(); vm.Renglones = _context.MovimientosEntradaConClubCuota .Where(x => x.Vigente && x.Fecha.Year == DateTime.Now.Year) .ToList() .GroupBy(x => x.ClubId) .Select(r => new ClubDeudaCuotaPorMesRenglonVM { Id = r.First().ClubId, ClubNombre = r.First().Club.Nombre, ClubLink = $"<a href='/Club/{r.First().ClubId}/MovimientoEntradaConClub/Index/'>{r.First().Club.Nombre}</a>", ValorCuota = $"${r.First().Club.Cuota()}", PagoAbril = $"${r.Where(x => x.Mes == Mes.Abril).Sum(c => c.ImportePagado())}", PagoMayo = $"${r.Where(x => x.Mes == Mes.Mayo).Sum(c => c.ImportePagado())}", PagoJunio = $"${r.Where(x => x.Mes == Mes.Junio).Sum(c => c.ImportePagado())}", PagoJulio = $"${r.Where(x => x.Mes == Mes.Julio).Sum(c => c.ImportePagado())}", PagoAgosto = $"${r.Where(x => x.Mes == Mes.Agosto).Sum(c => c.ImportePagado())}", PagoSeptiembre = $"${r.Where(x => x.Mes == Mes.Septiembre).Sum(c => c.ImportePagado())}", PagoOctubre = $"${r.Where(x => x.Mes == Mes.Octubre).Sum(c => c.ImportePagado())}", PagoNoviembre = $"${r.Where(x => x.Mes == Mes.Noviembre).Sum(c => c.ImportePagado())}" }) .ToList(); AgregarClubesSinMovimientos(vm); vm.OrdenarAlfabeticamentePorNombreDeClub(); return(vm); }
private void AgregarClubesSinMovimientos(InformePagoCuotasPorMesVM vm) { foreach (var club in _context.Clubs.ToList()) { if (!vm.Renglones.Select(x => x.Id).Contains(club.Id)) { vm.Renglones.Add(new ClubDeudaCuotaPorMesRenglonVM { Id = club.Id, ClubLink = $"<a href='/Club/{club.Id}/MovimientoEntradaConClub/Index/'>{club.Nombre}</a>", ClubNombre = club.Nombre, ValorCuota = $"${club.Cuota()}", PagoAbril = "$0", PagoMayo = "$0", PagoJunio = "$0", PagoJulio = "$0", PagoAgosto = "$0", PagoSeptiembre = "$0", PagoOctubre = "$0", PagoNoviembre = "$0" }); } } }