public ActionResult VerMasIniciativaDetalle(int ini) { ListaObjeto modelo = new ListaObjeto(); IniciativaBE inic = new IniciativaBE(); IndicadorDataBE ida = new IndicadorDataBE(); inic.ID_INICIATIVA = ini; ida.ID_INICIATIVA = ini; modelo.iniciativa_mit = inic; modelo.iniciativa_mit = IniciativaLN.IniciativaMitigacionDatos(modelo.iniciativa_mit); //modelo.listaIndicador = IndicadorLN.ListarDetalleIndicadorDatos(modelo.iniciativa_mit); modelo.medida = MedidaMitigacionLN.getMedidaMitigacion(modelo.iniciativa_mit.ID_MEDMIT); modelo.listaEnfoque = EnfoqueLN.listarEnfoqueMedida(modelo.iniciativa_mit.ID_MEDMIT); ida.ID_MEDMIT = modelo.iniciativa_mit.ID_MEDMIT; modelo.listaIndData = IndicadorLN.ListarDatosTablaDinamica(ida); modelo.listaIndicador = capturarIndicadores(modelo.listaIndData); modelo.listaUbicacion = IniciativaLN.ListarUbicacionIniciativa(modelo.iniciativa_mit); modelo.listaEnergetico = IniciativaLN.ListarEnergeticoIniciativa(modelo.iniciativa_mit); modelo.listaGei = IniciativaLN.ListarGeiIniciativa(modelo.iniciativa_mit); modelo.usuario = UsuarioLN.UsuarioIniciativa(modelo.iniciativa_mit.ID_USUARIO); modelo.detalle = 1; Session["lista_indicador_revision"] = modelo.listaIndicador;//add return(View(modelo)); }
public JsonResult MostrarGeiporAnio(IniciativaBE entidad) { List <IniciativaBE> lista = IndicadorLN.MostrarGeiporAnio(entidad); var jsonResult = Json(lista, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
public JsonResult DashboardResultado(IndicadorBE entidad) { List <IndicadorBE> lista = IndicadorLN.DashboardResultado(entidad); var jsonResult = Json(lista, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
public ActionResult DetalleIndicadorMasivo(int id, int ini) { ListaObjeto modelo = new ListaObjeto(); int validar = IniciativaLN.ValidarVista(id); if (validar == 6 || validar == 7 || validar == 14) //add 14-10-20 { IniciativaBE inic = new IniciativaBE(); inic.ID_INICIATIVA = id; modelo.iniciativa_mit = inic; modelo.iniciativa_mit = IniciativaLN.IniciativaMitigacionDatos(modelo.iniciativa_mit); if (modelo.iniciativa_mit.ListaSustentos.Count > 0) { modelo.iniciativa_mit.ListaSustentos = limpiarFileSustento(modelo.iniciativa_mit.ListaSustentos); //add } modelo.menor = IndicadorLN.DetalleIndicadorEnfoque(modelo.iniciativa_mit.ID_INICIATIVA); modelo.medida = MedidaMitigacionLN.getMedidaMitigacion(modelo.iniciativa_mit.ID_MEDMIT); modelo.listaEnfoque = EnfoqueLN.listarEnfoqueMedida(modelo.iniciativa_mit.ID_MEDMIT); modelo.listaUbicacion = IniciativaLN.ListarUbicacionIniciativa(modelo.iniciativa_mit); modelo.listaEnergetico = IniciativaLN.ListarEnergeticoIniciativa(modelo.iniciativa_mit); modelo.listaGei = IniciativaLN.ListarGeiIniciativa(modelo.iniciativa_mit); modelo.usuario = UsuarioLN.EspecialistaMedida(modelo.iniciativa_mit.ID_MEDMIT); modelo.url = WebConfigurationManager.AppSettings.Get("Sello"); //if (modelo.menor == 0) //{ // modelo.menor = getMenorId(modelo.listaEnfoque); //} int enf = IniciativaLN.getIdEnfoqueMenor(inic); if (enf == 0) { if (modelo.menor == 0) { modelo.menor = getMenorId(modelo.listaEnfoque); Session["enfoque"] = 0; } } else { modelo.menor = enf; Session["enfoque"] = enf; } Session["correo_destino"] = modelo.usuario.EMAIL_USUARIO; } else { return(RedirectToAction("Default", "Error")); } return(View(modelo)); }
// GET: Detalle public ActionResult DetalleIndicadorMasivo(int id, int ini) { ListaObjeto modelo = new ListaObjeto(); IniciativaBE inic = new IniciativaBE(); inic.ID_INICIATIVA = id; modelo.iniciativa_mit = inic; modelo.iniciativa_mit = IniciativaLN.IniciativaMitigacionDatos(modelo.iniciativa_mit); modelo.menor = IndicadorLN.DetalleIndicadorEnfoque(modelo.iniciativa_mit.ID_INICIATIVA); modelo.medida = MedidaMitigacionLN.getMedidaMitigacion(modelo.iniciativa_mit.ID_MEDMIT); modelo.listaEnfoque = EnfoqueLN.listarEnfoqueMedida(modelo.iniciativa_mit.ID_MEDMIT); modelo.listaUbicacion = IniciativaLN.ListarUbicacionIniciativa(modelo.iniciativa_mit); modelo.listaEnergetico = IniciativaLN.ListarEnergeticoIniciativa(modelo.iniciativa_mit); modelo.listaGei = IniciativaLN.ListarGeiIniciativa(modelo.iniciativa_mit); modelo.usuario = UsuarioLN.EspecialistaMedida(modelo.iniciativa_mit.ID_MEDMIT); if (modelo.menor == 0) { modelo.menor = getMenorId(modelo.listaEnfoque); } Session["correo_destino"] = modelo.usuario.EMAIL_USUARIO; return(View(modelo)); }
public List <SustentoIniciativaBE> limpiarFileSustento(List <SustentoIniciativaBE> sustento) { List <SustentoIniciativaBE> new_lista = new List <SustentoIniciativaBE>(); string cod_file = ""; int cod_ini = 0; try { foreach (var item in sustento) { if (item.ADJUNTO != null) { new_lista.Add(item); } else { cod_file = item.ID_INICIATIVA_SUSTENTATORIO + ","; cod_ini = item.ID_INICIATIVA; } } if (!string.IsNullOrEmpty(cod_file)) { cod_file.Substring(0, cod_file.Length - 1); IndicadorLN.EliminarIndicadoresFile(new IniciativaBE { ID_INICIATIVA = cod_ini, ID_INDICADOR_ELIMINAR = cod_file }); } } catch (Exception ex) { Log.Error(ex); } return(new_lista); }
//public JsonResult ProcesarExcel(HttpPostedFileBase fledeclaracion, IndicadorBE entidad) public JsonResult ProcesarExcel(HttpPostedFileBase fledeclaracion, ParametroBE entidad) { //List<IndicadorBE> listaIndicadores = new List<IndicadorBE>(); //ResponseEntity itemRespuesta = new ResponseEntity(); //List<string> excelData = new List<string>(); //int pagina = 0; //if (fledeclaracion != null) //{ // //load the uploaded file into the memorystream // byte[] archivo = new byte[fledeclaracion.ContentLength]; // fledeclaracion.InputStream.Read(archivo, 0, fledeclaracion.ContentLength - 1); // using (MemoryStream stream = new MemoryStream(archivo)) // using (ExcelPackage excelPackage = new ExcelPackage(stream)) // { // //loop all worksheets // foreach (ExcelWorksheet worksheet in excelPackage.Workbook.Worksheets) // { // pagina++; // //loop all rows // if (pagina < 2) // { // for (int i = worksheet.Dimension.Start.Row; i <= worksheet.Dimension.End.Row; i++) // { // IndicadorBE item = new IndicadorBE(); // if (i > 1) // { // //loop all columns in a row // if (worksheet.Cells[i, 1].Value != null && worksheet.Cells[i, 2].Value != null && worksheet.Cells[i, 3].Value != null && worksheet.Cells[i, 4].Value != null && worksheet.Cells[i, 5].Value != null && worksheet.Cells[i, 6].Value != null && worksheet.Cells[i, 7].Value != null && worksheet.Cells[i, 8].Value != null) // { // for (int j = worksheet.Dimension.Start.Column; j <= worksheet.Dimension.End.Column; j++) // { // //add the cell data to the List // if (worksheet.Cells[i, j].Value != null) // { // excelData.Add(worksheet.Cells[i, j].Value.ToString()); // switch (j) // { // case 1: // item.ANNOB = int.Parse(worksheet.Cells[i, j].Value.ToString()); // item.ANNO_BASE = item.ANNOB; // break; // case 2: // item.INICIO_OPERACIONES = DateTime.FromOADate(long.Parse(worksheet.Cells[i, j].Value.ToString())); // break; // case 3: // item.ID_TIPO_VEHICULOB = int.Parse(worksheet.Cells[i, j].Value.ToString()); // item.ID_TIPO_VEHICULO_BASE = item.ID_TIPO_VEHICULOB; // break; // case 4: // break; // case 5: // item.ID_TIPO_COMBUSTIBLEB = int.Parse(worksheet.Cells[i, j].Value.ToString()); // item.ID_TIPO_COMBUSTIBLE_BASE = item.ID_TIPO_COMBUSTIBLEB; // break; // case 6: // break; // case 7: // item.KRVB = int.Parse(worksheet.Cells[i, j].Value.ToString()); // item.KRV_BASE = item.KRVB; // break; // case 8: // item.CANTIDADB = int.Parse(worksheet.Cells[i, j].Value.ToString()); // item.CANT_BASE = item.CANTIDADB; // break; // case 9: // item.FACTOR_RENDIMIENTO = double.Parse(worksheet.Cells[i, j].Value.ToString()); // item.F_RENDIMIENTO = item.FACTOR_RENDIMIENTO; // break; // } // } // } // item.ID_TIPO_FUENTEI = entidad.ID_TIPO_FUENTEI; // IndicadorBE Calculado = IndicadorLN.CalcularIndicador(item)[0]; // item.TOTAL_GEI_INIMIT = Calculado.TOTAL_GEI_INIMIT; // item.TOTAL_GEI_REDUCIDO = Calculado.TOTAL_GEI_REDUCIDO; // item.TOTAL_GEI_BASE = Calculado.TOTAL_GEI_BASE; // item.F_RENDIMIENTO = Calculado.FACTOR_RENDIMIENTO; // listaIndicadores.Add(item); // } // } // } // } // } // } //} //var jsonResult = Json(listaIndicadores, JsonRequestBehavior.AllowGet); //jsonResult.MaxJsonLength = int.MaxValue; //return jsonResult; List <IndicadorDataBE> listaData = new List <IndicadorDataBE>(); List <ParametroBE> listaParametro = new List <ParametroBE>(); //add List <ParametroBE> listaTemp = new List <ParametroBE>(); //add ParametroBE entTemp = new ParametroBE(); ResponseEntity itemRespuesta = new ResponseEntity(); List <string> excelData = new List <string>(); listaTemp = ParametroLN.ListarParametroCabeceraExcel(entidad); foreach (var item in listaTemp) { item.AGREGAR = 1; listaParametro.Add(item); if (item.ID_TIPO_CONTROL == 1) { if (item.ID_PARAMETRO != 6) { entTemp.AGREGAR = 0; listaParametro.Add(entTemp); } } } int pagina = 0; if (fledeclaracion != null) { //load the uploaded file into the memorystream byte[] archivo = new byte[fledeclaracion.ContentLength]; fledeclaracion.InputStream.Read(archivo, 0, fledeclaracion.ContentLength - 1); using (MemoryStream stream = new MemoryStream(archivo)) using (ExcelPackage excelPackage = new ExcelPackage(stream)) { //loop all worksheets foreach (ExcelWorksheet worksheet in excelPackage.Workbook.Worksheets) { pagina++; pagina++; var cant_column = worksheet.Dimension.End.Column; var ultimos = listaParametro.Count - cant_column; //loop all rows if (pagina < 3) { for (int i = worksheet.Dimension.Start.Row; i <= worksheet.Dimension.End.Row; i++) { IndicadorDataBE itemData = new IndicadorDataBE(); List <IndicadorDataBE> listaIndicadores = new List <IndicadorDataBE>(); if (i > 2) { //loop all columns in a row var validar = 0; for (int n = 0; n < cant_column; n++) { if (worksheet.Cells[i, (n + 1)].Value == null) { validar = 1; break; } } if (validar == 0) { for (int j = worksheet.Dimension.Start.Column; j <= worksheet.Dimension.End.Column; j++) { //add the cell data to the List if (worksheet.Cells[i, j].Value != null) { IndicadorDataBE item = new IndicadorDataBE(); excelData.Add(worksheet.Cells[i, j].Value.ToString()); item.ID_ENFOQUE = entidad.ID_ENFOQUE; item.ID_MEDMIT = entidad.ID_MEDMIT; item.ID_PARAMETRO = listaParametro[(j - 1)].ID_PARAMETRO; if (listaParametro[(j - 1)].ID_TIPO_DATO == 1) { var fec = Convert.ToString(DateTime.FromOADate(long.Parse(worksheet.Cells[i, j].Value.ToString()))); item.VALOR = Convert.ToDateTime(fec).ToString("yyyy-MM-dd"); //item.VALOR = Convert.ToString(DateTime.FromOADate(long.Parse(worksheet.Cells[i, j].Value.ToString()))); //item.VALOR = item.VALOR.Substring(0, 10); //item.VALOR = "2018-11-12"; //ALTERNO //string p = worksheet.Cells[i, j].Value.ToString(); //item.VALOR = Convert.ToDateTime(p).ToString("yyyy-MM-dd"); } else { item.VALOR = worksheet.Cells[i, j].Value.ToString(); } if (listaParametro[(j - 1)].AGREGAR == 1) { listaIndicadores.Add(item); } } else { IndicadorDataBE item = new IndicadorDataBE(); excelData.Add(worksheet.Cells[i, j].Value.ToString()); item.ID_ENFOQUE = entidad.ID_ENFOQUE; item.ID_MEDMIT = entidad.ID_MEDMIT; item.ID_PARAMETRO = listaParametro[(j - 1)].ID_PARAMETRO; item.VALOR = ""; } } for (int m = cant_column; m < listaParametro.Count; m++) { IndicadorDataBE item = new IndicadorDataBE(); item.ID_ENFOQUE = entidad.ID_ENFOQUE; item.ID_MEDMIT = entidad.ID_MEDMIT; item.ID_PARAMETRO = listaParametro[m].ID_PARAMETRO; item.VALOR = ""; listaIndicadores.Add(item); } itemData.listaInd = IndicadorLN.CalculoIndicador(listaIndicadores); listaData.Add(itemData); } } } } } } } var jsonResult = Json(listaData, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); //return Respuesta(itemRespuesta); }
public string BuildFicha(int id, int id_plazo) { IniciativaBE ini = IniciativaLN.IniciativaFicha(new IniciativaBE { ID_INICIATIVA = id }); NumberFormatInfo formato = new CultureInfo("es-ES").NumberFormat; formato.CurrencyGroupSeparator = "."; formato.NumberDecimalSeparator = ","; string html = ""; html += "<html>"; html += "<head>"; html += "</head>"; html += "<body>"; html += "<br/>"; html += "<div style='text-align: center;font-weight: bold;font-size: 22px;'>" + ini.NOMBRE_MEDMIT + "</div><br/>"; html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>IPCC:</span> <span> " + ini.IPCC + "</span></div>"; html += "<div style='text-align: justify;font-size: 12px;'><span style='font-weight: bold;'>Descripción Medida Mitigación:</span> <span> " + ini.DESCRIPCION_MEDMIT + "</span></div>"; html += "<div style='text-align: justify;font-size: 12px;'><span style='font-weight: bold;'>Objetivo Medida Mitigación:</span> <span> " + ini.OBJETIVO_MEDMIT + "</span></div>"; html += "<br/><div style='text-align: left;font-weight: bold;font-size: 14px;'>Datos principales</div>"; html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Tipo de iniciativa:</span> <span> " + ini.TIPO_INICIATIVA + "</span></div>"; html += "<div style='text-align: justify;font-size: 12px;'><span style='font-weight: bold;'>Nombre de la iniciativa:</span> <span> " + ini.NOMBRE_INICIATIVA + "</span></div>"; html += "<div style='text-align: justify;font-size: 12px;'><span style='font-weight: bold;'>Descripción de la iniciativa:</span> <span> " + ini.DESC_INICIATIVA + "</span></div>"; html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Responsable del registro:</span> <span> " + ini.NOMBRES + "</span></div>"; html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Correo electrónico:</span> <span> " + ini.EMAIL_USUARIO + "</span></div>"; html += "<div style='text-align: justify;font-size: 12px;'><span style='font-weight: bold;'>Nombre de la institución:</span> <span> " + ini.INSTITUCION + "</span></div>"; html += "<div style='text-align: justify;font-size: 12px;'><span style='font-weight: bold;'>Dirección:</span> <span> " + ini.DIRECCION + "</span></div>"; html += "<br/><div style='text-align: left;font-weight: bold;font-size: 14px;'>Datos generales</div>"; html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Sector de la institución:</span> <span> " + ini.SECTOR + "</span></div>"; html += "<div style='text-align: justify;font-size: 12px;'><span style='font-weight: bold;'>Ubicación:</span> <span> " + ini.UBICACION + "</span></div>"; html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Moneda:</span> <span> " + ini.MONEDA + "</span></div>"; if (ini.PRIVACIDAD_INVERSION == '1') { html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Monto de inversión:</span> <span> " + ini.INVERSION_INICIATIVA.ToString("N", formato) + "</span></div>"; } html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Fecha de inicio de operaciones:</span> <span> " + ini.FECHA + "</span></div>"; if (ini.FECHA_FIN != "01/01/0001") { html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Fecha de finalización:</span> <span> " + ini.FECHA_FIN + "</span></div>"; } if (id_plazo >= 12) { List <IndicadorDataBE> lista = IndicadorLN.ListarDatosTablaDinamica(new IndicadorDataBE { ID_INICIATIVA = ini.ID_INICIATIVA, ID_MEDMIT = ini.ID_MEDMIT }); if (!string.IsNullOrEmpty(ini.ENERGETICO) || !string.IsNullOrEmpty(ini.GEI)) { html += "<br/><div style='text-align: left;font-weight: bold;font-size: 14px;'>Indicadores</div>"; if (!string.IsNullOrEmpty(ini.ENERGETICO)) { html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Energéticos:</span> <span> " + ini.ENERGETICO + "</span></div>"; } if (!string.IsNullOrEmpty(ini.GEI)) { html += "<div style='text-align: justify;font-size: 12px;'><span style='font-weight: bold;'>Gases de efecto invernadero:</span> <span> " + ini.GEI + "</span></div>"; } } if (lista.Count > 0) { html += "<br/><div style='text-align: left;font-weight: bold;font-size: 14px;'>Detalle de la iniciativa de mitigación</div>"; html += "<div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Enfoque:</span> <span> " + lista[lista.Count() - 1].DESCRIPCION + "</span></div>"; html += "<div>"; html += " <table style=''>"; html += " <thead>"; html += " <tr style='font-size: 6px;font-weight: bold;text-align: center;border: black 1px solid;border-collapse: collapse;'>"; foreach (var item in lista[lista.Count() - 1].listaParam) { html += " <th scope='col'><span><small>" + item.NOMBRE_PARAMETRO + "</small></span></th>"; } html += " </tr>"; html += " <thead>"; html += " </thead>"; html += " <tbody>"; foreach (var item in lista[lista.Count() - 1].listaInd) { html += " <tr style='font-size: 6px;background-color: green;text-align: center;border: 1px;border-collapse: collapse;'>"; foreach (var itemD in item.listaInd) { if (itemD.ID_TIPO_CONTROL == 1) { if (itemD.ID_PARAMETRO == 6) { html += " <td><span><small>" + itemD.VALOR + "</small></span></td>"; } else { html += " <td><span><small>" + itemD.DESCRIPCION + "</small></span></td>"; } } else { html += " <td><span><small>" + itemD.VALOR + "</small></span></td>"; } } html += " </tr>"; } html += " </tbody>"; html += " </table>"; html += "</div>"; html += "<br/><div style='text-align: left;font-size: 12px;'><span style='font-weight: bold;'>Total reducido de GEI: </span> <span> " + ini.TOTAL_GEI + " tCO<sub>2</sub>eq</span></div>"; } html += "</body>"; html += "</html>"; } return(html); }
public List <AcumuladoBE> detalleAcumulado(List <IndicadorDataBE> listaE) { List <AcumuladoBE> listaA = new List <AcumuladoBE>(); try { List <IndicadorDataBE> lista = new List <IndicadorDataBE>(); lista = listaE; int anioP = 0; string reducido = ""; foreach (var item in lista) { if (item.ID_PARAMETRO == 17) { item.VALOR = "0"; } else if (item.ID_PARAMETRO == 32) { string fecha = item.VALOR; fecha = fecha.Substring(0, 4); item.VALOR = fecha + "-01-01"; } else if (item.ID_PARAMETRO == 6) { anioP = Convert.ToInt32(item.VALOR); item.VALOR = Convert.ToString(anioP); } else if (item.ID_PARAMETRO == 11) { reducido = item.VALOR; } } //listaA.Add(new AcumuladoBE { anio = anioP, reducido = reducido }); if (lista[0].ID_MEDMIT != 12 && lista[0].ID_MEDMIT != 4 && lista[0].ID_ENFOQUE != 6 && lista[0].ID_ENFOQUE != 9) //add 08-09-20 { List <IndicadorDataBE> listaPr = new List <IndicadorDataBE>(); //anioP += 1; while (DateTime.Now.Year > anioP) { listaPr = IndicadorLN.CalculoIndicador(lista); foreach (var item in listaPr) { if (item.ID_PARAMETRO == 6) { item.VALOR = Convert.ToString(anioP + 1); } else if (item.ID_PARAMETRO == 11) { reducido = item.VALOR; } } listaA.Add(new AcumuladoBE { anio = anioP, reducido = reducido }); anioP += 1; } } else { List <IndicadorDataBE> listaPr = IndicadorLN.CalculoIndicador(lista); foreach (var item in listaPr) { if (item.ID_PARAMETRO == 6) { item.VALOR = Convert.ToString(anioP); } else if (item.ID_PARAMETRO == 11) { reducido = item.VALOR; } } listaA.Add(new AcumuladoBE { anio = anioP, reducido = reducido }); } } catch (Exception ex) { Log.Error(ex); } return(listaA); }
//public JsonResult ProcesarExcel(HttpPostedFileBase fledeclaracion, IndicadorBE entidad) public JsonResult ProcesarExcel(HttpPostedFileBase fledeclaracion, ParametroBE entidad) { List <IndicadorDataBE> listaData = new List <IndicadorDataBE>(); try { List <ParametroBE> listaParametro = new List <ParametroBE>(); //add List <ParametroBE> listaTemp = new List <ParametroBE>(); //add ParametroBE entTemp = new ParametroBE(); ResponseEntity itemRespuesta = new ResponseEntity(); List <string> excelData = new List <string>(); listaTemp = ParametroLN.ListarParametroCabeceraExcel(entidad); foreach (var item in listaTemp) { item.AGREGAR = 1; listaParametro.Add(item); if (item.ID_TIPO_CONTROL == 1) { if (item.ID_PARAMETRO != 6) { entTemp.AGREGAR = 0; listaParametro.Add(entTemp); } } } int pagina = 0; if (fledeclaracion != null) { //load the uploaded file into the memorystream byte[] archivo = new byte[fledeclaracion.ContentLength]; fledeclaracion.InputStream.Read(archivo, 0, fledeclaracion.ContentLength - 1); using (MemoryStream stream = new MemoryStream(archivo)) using (ExcelPackage excelPackage = new ExcelPackage(stream)) { //loop all worksheets foreach (ExcelWorksheet worksheet in excelPackage.Workbook.Worksheets) { pagina++; pagina++; var cant_column = worksheet.Dimension.End.Column; var ultimos = listaParametro.Count - cant_column; //loop all rows if (pagina < 4) { List <IndicadorDataBE> listaDataTemp = new List <IndicadorDataBE>(); listaDataTemp = validar_campo(worksheet, entidad, listaParametro, cant_column); if (bandera == 1) { listaData = listaDataTemp; break; } for (int i = worksheet.Dimension.Start.Row; i <= worksheet.Dimension.End.Row; i++) { IndicadorDataBE itemData = new IndicadorDataBE(); List <IndicadorDataBE> listaIndicadores = new List <IndicadorDataBE>(); if (i > 3) { //loop all columns in a row var validar = 0; for (int n = 0; n < cant_column; n++) { if (worksheet.Cells[i, (n + 1)].Value == null) { validar = 1; break; } } if (validar == 0) { string anno = ""; for (int j = worksheet.Dimension.Start.Column; j <= worksheet.Dimension.End.Column; j++) { //add the cell data to the List if (worksheet.Cells[i, j].Value != null) { IndicadorDataBE item = new IndicadorDataBE(); excelData.Add(worksheet.Cells[i, j].Value.ToString()); item.ID_ENFOQUE = entidad.ID_ENFOQUE; item.ID_MEDMIT = entidad.ID_MEDMIT; item.ID_PARAMETRO = listaParametro[(j - 1)].ID_PARAMETRO; if (listaParametro[(j - 1)].ID_TIPO_DATO == 1) { var fec = Convert.ToString(DateTime.FromOADate(long.Parse(worksheet.Cells[i, j].Value.ToString()))); item.VALOR = Convert.ToDateTime(fec).ToString("yyyy-MM-dd"); if (item.VALOR == "1920-01-01") { item.VALOR = ""; } //item.VALOR = Convert.ToString(DateTime.FromOADate(long.Parse(worksheet.Cells[i, j].Value.ToString()))); //item.VALOR = item.VALOR.Substring(0, 10); //item.VALOR = "2018-11-12"; //ALTERNO //string p = worksheet.Cells[i, j].Value.ToString(); //item.VALOR = Convert.ToDateTime(p).ToString("yyyy-MM-dd"); } else { item.VALOR = worksheet.Cells[i, j].Value.ToString(); if (item.ID_PARAMETRO == 6) { anno = item.VALOR; } } if (listaParametro[(j - 1)].AGREGAR == 1) { listaIndicadores.Add(item); } } else { IndicadorDataBE item = new IndicadorDataBE(); excelData.Add(worksheet.Cells[i, j].Value.ToString()); item.ID_ENFOQUE = entidad.ID_ENFOQUE; item.ID_MEDMIT = entidad.ID_MEDMIT; item.ID_PARAMETRO = listaParametro[(j - 1)].ID_PARAMETRO; item.VALOR = ""; } } for (int m = cant_column; m < listaParametro.Count; m++) { IndicadorDataBE item = new IndicadorDataBE(); item.ID_ENFOQUE = entidad.ID_ENFOQUE; item.ID_MEDMIT = entidad.ID_MEDMIT; item.ID_PARAMETRO = listaParametro[m].ID_PARAMETRO; item.VALOR = ""; listaIndicadores.Add(item); } //itemData.listaInd = IndicadorLN.CalculoIndicador(listaIndicadores); itemData.listaAcumulado = detalleAcumulado(listaIndicadores); listaIndicadores[0].VALOR = anno; itemData.listaInd = IndicadorLN.CalculoIndicador(listaIndicadores); listaData.Add(itemData); } } } } } } } } catch (Exception ex) { Log.Error(ex); } var jsonResult = Json(listaData, JsonRequestBehavior.AllowGet); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); //return Respuesta(itemRespuesta); }