public ActionResult ReporteGeneral(int?ciudadId, int?facilityId, int?planProgramaticoId, int?cuentaContableId, int?contraparteId, int?codigoAuditoriaId, int?accionNacionalId, int?territorioId, string descripcion, string notasAdicionales) { var listaPlanProgramatico = planProgramaticoManager.GetAllPlan(); if (facilityId != null) { listaPlanProgramatico = planProgramaticoManager.GetPlanByFacility(facilityId.Value); } // Parámetros ViewBag.CiudadId = new SelectList(ciudadesManager.GetAllCiudades(), "Id", "Nombre"); ViewBag.FacilityId = ciudadId != null ? new SelectList(facilitiesManager.GetFacilitiesPorCiudad(ciudadId.Value), "Id", "NombreDespliegue") : new SelectList(facilitiesManager.GetAllFacilities(), "Id", "NombreDespliegue"); ViewBag.PlanProgramaticoId = new SelectList(listaPlanProgramatico, "Id", "NombreLista", new object(), planProgramaticoManager.GetParentsPlanIds()); ViewBag.CuentaContableId = new SelectList(cuentasContablesManager.GetAllCuentasContables(), "Id", "NombreDespliegue"); ViewBag.ContraparteId = new SelectList(new ContrapartesManager().GetAllContrapartes(), "Id", "NombreDespliegue"); ViewBag.CodigoAuditoriaId = new SelectList(new CodigosAuditoriasManager().GetAllCodigosAuditoria(), "Id", "Descripcion"); ViewBag.AccionNacionalId = new SelectList(new AccionesNacionalesManager().GetAllAccionesNacionales(), "Id", "NombreDespliegue"); ViewBag.TerritorioId = new SelectList(new TerritoriosManager().GetAllTerritorios(), "Id", "NombreDespliegue"); var presupuestoActual = presupuestosManager.GetPresupuestoActual(); ViewBag.CiudadOrigenId = ciudadId; var reporte = reportesManager.GetReportePresupuestoGeneral(presupuestoActual.Id, ciudadId, facilityId); //Filtros reporte = FiltrarReporteGeneral(reporte, planProgramaticoId, cuentaContableId, contraparteId, codigoAuditoriaId, accionNacionalId, territorioId, descripcion, notasAdicionales); ViewBag.TotalReporte = reporte.Sum(r => r.Monto); return(View(reporte)); }