public ActionResult ExportarReporteMensual(int?ciudadId, int?facilityId, int?planProgramaticoId, int?cuentaContableId, int?contraparteId, int?codigoAuditoriaId, int?accionNacionalId, int?territorioId, string descripcion, string notasAdicionales, bool tieneCobertura = false) { var presupuestoActual = presupuestosManager.GetPresupuestoActual(); ViewBag.CiudadOrigenId = ciudadId; var reporte = reportesManager.GetReportePresupuestoMensual(presupuestoActual.Id, ciudadId, facilityId); //Filtros reporte = FiltrarReporteMensual(reporte, planProgramaticoId, cuentaContableId, contraparteId, codigoAuditoriaId, accionNacionalId, territorioId, descripcion, notasAdicionales); reporte = tieneCobertura ? reporte.Where(r => r.Recurso.Cobertura.HasValue && r.Recurso.Cobertura.Value > 0).ToList() : reporte.Where(r => !r.Recurso.Cobertura.HasValue || r.Recurso.Cobertura.Value == 0).ToList(); // Exportar Excel string templateDocument = System.Web.HttpContext.Current.Server.MapPath("~/Templates/I02-ReporteMensual.xlsx"); var report = reportesManager.ExportReportePresupuestoMensual(templateDocument, reporte); return(File(report.ToArray(), "application/octet-stream", string.Format("SOS-ReporteMensual-{0}{1}{2}.xlsx", DateTime.Now.Year, DateTime.Now.Month.ToString().PadLeft(2, '0'), DateTime.Now.Day.ToString().PadLeft(2, '0')))); }