Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        /*==== 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);
        }
Esempio n. 3
0
        /*==== 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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        //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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
 public static List <IndicadorDataBE> ListarDatosTablaDinamica(IndicadorDataBE entidad)
 {
     return(indicador.ListarDatosTablaDinamica(entidad));
 }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        //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);
        }