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)); }
/*==== add 17-02-20==========*/ public static IndicadorDataBE RegistraTodosIndicadoresData(IniciativaBE entidad, List <IndicadorDataBE> lista) { IndicadorDataBE ent = null; //int id_indicador = indicador.getIdIndicador(entidad); foreach (var item in lista) { int id_indicador = 0; if (item.ID_INDICADOR == 0) { id_indicador = indicador.getIdIndicador(entidad); } else { id_indicador = item.ID_INDICADOR; } foreach (var itemD in item.listaInd) { if (string.IsNullOrEmpty(item.VALOR)) { item.VALOR = ""; } itemD.ID_INICIATIVA = entidad.ID_INICIATIVA; itemD.ID_INDICADOR = id_indicador; ent = indicador.RegistrarDetalleIndicadorData(itemD); if (!ent.OK) { break; } } if (item.ArchivoSustento != null) { item.ArchivoSustento.ID_INDICADOR = id_indicador; IndicadorArchivoBE ret = new IndicadorArchivoDA().RegistrarArchivoDetalleIndicador(item.ArchivoSustento); string origen = WebConfigurationManager.AppSettings["Detalle"] + "\\" + item.ArchivoSustento.ADJUNTO; string destino = WebConfigurationManager.AppSettings["Sustentatorio"] + "\\" + item.ArchivoSustento.ADJUNTO; File.Move(origen, destino); } if (item.objAIV != null) { item.objAIV.ID_INDICADOR = id_indicador; indicador.guardarAIV(item.objAIV); } } //foreach (IndicadorDataBE item in entidad.ListaIndicadoresData) //{ // if (string.IsNullOrEmpty(item.VALOR)) item.VALOR = ""; // item.ID_INICIATIVA = entidad.ID_INICIATIVA; // item.ID_INDICADOR = id_indicador; // ent = indicador.RegistrarDetalleIndicadorData(item); // if (!ent.OK) // { // break; // } //} return(ent); }
/*==== add 17-02-20==========*/ public static IndicadorDataBE RegistraTodosIndicadoresData(IniciativaBE entidad, List <IndicadorDataBE> lista) { IndicadorDataBE ent = null; //int id_indicador = indicador.getIdIndicador(entidad); foreach (var item in lista) { int id_indicador = 0; if (item.ID_INDICADOR == 0) { id_indicador = indicador.getIdIndicador(entidad); } else { id_indicador = item.ID_INDICADOR; } foreach (var itemD in item.listaInd) { if (string.IsNullOrEmpty(item.VALOR)) { item.VALOR = ""; } itemD.ID_INICIATIVA = entidad.ID_INICIATIVA; itemD.ID_INDICADOR = id_indicador; ent = indicador.RegistrarDetalleIndicadorData(itemD); if (!ent.OK) { break; } } } //foreach (IndicadorDataBE item in entidad.ListaIndicadoresData) //{ // if (string.IsNullOrEmpty(item.VALOR)) item.VALOR = ""; // item.ID_INICIATIVA = entidad.ID_INICIATIVA; // item.ID_INDICADOR = id_indicador; // ent = indicador.RegistrarDetalleIndicadorData(item); // if (!ent.OK) // { // break; // } //} return(ent); }
public static List <IndicadorDataBE> MostrarAcumulado(IniciativaBE entidad) { List <IndicadorDataBE> lista = new List <IndicadorDataBE>(); if (entidad.ListaIndicadores.Count > 0) { foreach (IndicadorBE ind in entidad.ListaIndicadores) { IndicadorDataBE inde = new IndicadorDataBE(); inde.listaAcumulado = iniciativaDA.MostrarAcumulado(new IniciativaBE { ID_INICIATIVA = ind.ID_INICIATIVA, ID_MEDMIT = ind.ID_MEDMIT, ID_ENFOQUE = ind.ID_ENFOQUE, ID_INDICADOR = ind.ID_INDICADOR }); inde.ID_INDICADOR = ind.ID_INDICADOR; lista.Add(inde); } } return(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); }
private static string VerificaOperando(string istrOperando, List <IndicadorDataBE> listaEntidad) { string ls_subformula = ""; decimal lde_importecida = 0; string ls_cida = ""; switch (istrOperando.Substring(0, 1)) { case "C": ls_cida = istrOperando.Substring(1); ls_subformula = ls_cida.Trim(); break; case "P": //'Captura del Operando el Codigo del Parametro ls_cida = istrOperando.Substring(1, istrOperando.Length - 1); //Captura Importe ingresado para el Parametro IndicadorDataBE item = listaEntidad.Find(A => A.ID_PARAMETRO.Equals(int.Parse(ls_cida))); if (item != null) { lde_importecida = decimal.Parse(item.VALOR); } else { lde_importecida = 0; } ls_subformula = lde_importecida.ToString(); break; case "F": //Recupero información de factor ls_cida = istrOperando.Substring(1); FactorBE Fentidad = new FactorBE() { ID_FACTOR = int.Parse(ls_cida) }; //Consultamos en caso sea Factor de rendimiento if (ls_cida == WebConfigurationManager.AppSettings["FactorRendimiento"]) { IndicadorDataBE itemF = listaEntidad.Find(A => A.ID_PARAMETRO.Equals(int.Parse(WebConfigurationManager.AppSettings["ParametroFR"]))); if (itemF != null) { if (!string.IsNullOrEmpty(itemF.VALOR) && itemF.VALOR != "0.00" && itemF.VALOR != "0") { lde_importecida = decimal.Parse(itemF.VALOR); } else { List <FactorParametroBE> lFactorBE = new FactorDA().ListaFactorParametro(Fentidad); if (lFactorBE != null) { string SQL = ""; string SQL_PARAMETRO = "'"; string SQL_VALOR = "'"; int I = 1; foreach (FactorParametroBE param in lFactorBE) { IndicadorDataBE data = listaEntidad.Find(A => A.ID_PARAMETRO.Equals(param.ID_PARAMETRO)); SQL_PARAMETRO += param.ID_PARAMETRO.ToString() + (I == lFactorBE.Count ? "" : "|"); SQL_VALOR += data.VALOR + (I == lFactorBE.Count ? "" : "|"); I++; } SQL_PARAMETRO += "'"; SQL_VALOR += "'"; SQL += "AND F.ID_PARAMETRO = " + SQL_PARAMETRO + " AND F.VALOR = " + SQL_VALOR; List <FactorParametroDataBE> lFactorDataBE = new FactorDA().ListaFactorParametroData(Fentidad, SQL); if (lFactorDataBE != null) { if (lFactorDataBE.Count > 0) { lde_importecida = lFactorDataBE[0].FACTOR; } else { lde_importecida = 0; } } } else { lde_importecida = 0; } ls_subformula = lde_importecida.ToString(); itemF.VALOR = ls_subformula; } ls_subformula = lde_importecida.ToString(); } else { List <FactorParametroBE> lFactorBE = new FactorDA().ListaFactorParametro(Fentidad); if (lFactorBE != null) { string SQL = ""; string SQL_PARAMETRO = "'"; string SQL_VALOR = "'"; int I = 1; foreach (FactorParametroBE param in lFactorBE) { IndicadorDataBE data = listaEntidad.Find(A => A.ID_PARAMETRO.Equals(param.ID_PARAMETRO)); SQL_PARAMETRO += param.ID_PARAMETRO.ToString() + (I == lFactorBE.Count ? "" : "|"); SQL_VALOR += data.VALOR + (I == lFactorBE.Count ? "" : "|"); I++; } SQL_PARAMETRO += "'"; SQL_VALOR += "'"; SQL += "AND F.ID_PARAMETRO = " + SQL_PARAMETRO + " AND F.VALOR = " + SQL_VALOR; List <FactorParametroDataBE> lFactorDataBE = new FactorDA().ListaFactorParametroData(Fentidad, SQL); if (lFactorDataBE != null) { if (lFactorDataBE.Count > 0) { lde_importecida = lFactorDataBE[0].FACTOR; } else { lde_importecida = 0; } } } else { lde_importecida = 0; } ls_subformula = lde_importecida.ToString(); } } else { List <FactorParametroBE> lFactorBE = new FactorDA().ListaFactorParametro(Fentidad); if (lFactorBE != null) { string SQL = ""; string SQL_PARAMETRO = "'"; string SQL_VALOR = "'"; int I = 1; foreach (FactorParametroBE param in lFactorBE) { IndicadorDataBE data = listaEntidad.Find(A => A.ID_PARAMETRO.Equals(param.ID_PARAMETRO)); SQL_PARAMETRO += param.ID_PARAMETRO.ToString() + (I == lFactorBE.Count ? "" : "|"); SQL_VALOR += data.VALOR + (I == lFactorBE.Count ? "" : "|"); I++; } SQL_PARAMETRO += "'"; SQL_VALOR += "'"; SQL += "AND F.ID_PARAMETRO = " + SQL_PARAMETRO + " AND F.VALOR = " + SQL_VALOR; List <FactorParametroDataBE> lFactorDataBE = new FactorDA().ListaFactorParametroData(Fentidad, SQL); if (lFactorDataBE != null) { if (lFactorDataBE.Count > 0) { lde_importecida = lFactorDataBE[0].FACTOR; } else { lde_importecida = 0; } } } else { lde_importecida = 0; } ls_subformula = lde_importecida.ToString(); } break; case "V": ls_cida = istrOperando.Substring(1); VariableBE Ventidad = new VariableBE() { ID_VARIABLE = int.Parse(ls_cida) }; List <VariableBE> lVariable = new VariableDA().ListaVariables(Ventidad); switch (ls_cida) { case "1": //Dias de funcionamiento desde la fecha de instalación if (lVariable != null) { foreach (VariableBE vItem in lVariable) { IndicadorDataBE vIndicador = listaEntidad.Find(A => A.ID_PARAMETRO.Equals(vItem.ID_PARAMETRO)); if (vIndicador != null) { DateTime fechaInicial = DateTime.ParseExact(vIndicador.VALOR, "yyyy-MM-dd", CultureInfo.GetCultureInfo("es-PE")); DateTime fechaFinal = new DateTime(fechaInicial.Year, 12, 31); TimeSpan diferencia = fechaFinal - fechaInicial; lde_importecida = diferencia.Days; } else { lde_importecida = 0; } } } else { lde_importecida = 0; } break; case "2": //Sumatoria de reducciones GEI para periodos pasados al campo año del registro if (lVariable != null) { foreach (VariableBE vItem in lVariable) { IndicadorDataBE vIndicador = listaEntidad.Find(A => A.ID_PARAMETRO.Equals(vItem.ID_PARAMETRO)); lde_importecida = new VariableDA().SumatoriaGeiReducido(int.Parse(vIndicador.VALOR), listaEntidad[0].ID_INICIATIVA); } } break; } ls_subformula = lde_importecida.ToString(); break; } return(ls_subformula); }
public static List <IndicadorDataBE> ListarDatosTablaDinamica(IndicadorDataBE entidad) { return(indicador.ListarDatosTablaDinamica(entidad)); }
private List <IndicadorDataBE> validar_campo(ExcelWorksheet worksheet, ParametroBE entidad, List <ParametroBE> listaParametro, int cant_column) { List <IndicadorDataBE> listaData = new List <IndicadorDataBE>(); for (int i = worksheet.Dimension.Start.Row; i <= worksheet.Dimension.End.Row; i++) { IndicadorDataBE itemData = new IndicadorDataBE(); List <IndicadorDataBE> listaIndicadores = new List <IndicadorDataBE>(); decimal num = 0; if (i > 3) { 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 n = 0; n < cant_column; n++) { IndicadorDataBE item = new IndicadorDataBE(); item.ID_ENFOQUE = entidad.ID_ENFOQUE; item.ID_MEDMIT = entidad.ID_MEDMIT; item.ID_PARAMETRO = listaParametro[n].ID_PARAMETRO; if (worksheet.Cells[i, (n + 1)].Value != null) { if (listaParametro[n].ID_TIPO_CONTROL == 2) { if (listaParametro[n].ID_TIPO_DATO == 1) { var fec = Convert.ToString(DateTime.FromOADate(long.Parse(worksheet.Cells[i, (n + 1)].Value.ToString()))); item.VALOR = Convert.ToDateTime(fec).ToString("yyyy-MM-dd"); var fecha = item.VALOR.Split('-'); DateTime fechaActual = DateTime.Today; int dia = fechaActual.Day; int mes = fechaActual.Month; int anno = fechaActual.Year; if (Convert.ToInt32(fecha[2]) > anno) { item.extra = "1"; bandera = 1; } else { if (Convert.ToInt32(fecha[2]) == anno) { if (Convert.ToInt32(fecha[1]) > mes) { item.extra = "1"; bandera = 1; } else { if (Convert.ToInt32(fecha[1]) == mes) { if (Convert.ToInt32(fecha[0]) > dia) { item.extra = "1"; bandera = 1; } else { item.extra = "0"; } } else { item.extra = "0"; } } } else { item.extra = "0"; } } } else if (listaParametro[n].ID_TIPO_DATO == 2) { item.VALOR = worksheet.Cells[i, (n + 1)].Value.ToString(); if (!decimal.TryParse((worksheet.Cells[i, (n + 1)].Value).ToString(), out num)) { item.extra = "1"; bandera = 1; } else { item.extra = "0"; } } else if (listaParametro[n].ID_TIPO_DATO == 3) { item.VALOR = worksheet.Cells[i, (n + 1)].Value.ToString(); } } else { item.VALOR = worksheet.Cells[i, (n + 1)].Value.ToString(); if (worksheet.Cells[i, (n + 1)].Value.ToString() == "NeuN") { item.extra = "1"; bandera = 1; } else { item.extra = "0"; //item.VALOR = worksheet.Cells[i, (n + 1)].Value.ToString(); } //var f = worksheet.Cells[i, (n + 1)].Value.ToString(); //item.VALOR = worksheet.Cells[i, (n + 1)].Value.ToString(); } } if (listaParametro[n].AGREGAR == 1) { listaIndicadores.Add(item); } } 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 = "0"; listaIndicadores.Add(item); } //if (validar == 0) //{ itemData.listaInd = listaIndicadores; listaData.Add(itemData); } //loop all columns in a row //var validar = 0; //} } } return(listaData); }
//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); }