Exemplo n.º 1
0
        public string ValidarArchivo(string Plantilla, string NombreArchivo, int?Conf = 0)
        {
            string RutaArchivo = string.Empty;
            DTResultadoOperacionModel <DTAthena>       DTResultadoModel      = new DTResultadoOperacionModel <DTAthena>();
            DTResultadoOperacionModel <DTErroresExcel> DTResultadoModelCarga = new DTResultadoOperacionModel <DTErroresExcel>();
            int ConEliminacion = 0;

            try
            {
                DTExcel             _Plantilla = JsonConvert.DeserializeObject <DTExcel>(Plantilla);
                List <DTFilasExcel> filas      = _Plantilla.sheets.First().rows;
                if (filas.Count > 1)
                {
                    //Validar el encabezado
                    List <DTColumnasExcel> columnas = filas.First().cells;

                    if (columnas[0].value.ToString() == DTEstructuraAthena.Item &&
                        columnas[1].value.ToString() == DTEstructuraAthena.PurchasingDocument &&
                        columnas[2].value.ToString() == DTEstructuraAthena.DocumentDate &&
                        columnas[3].value.ToString() == DTEstructuraAthena.Material &&
                        columnas[4].value.ToString() == DTEstructuraAthena.ShortText &&
                        columnas[5].value.ToString() == DTEstructuraAthena.OrderQuantity &&
                        columnas[6].value.ToString() == DTEstructuraAthena.StillDelivered &&
                        columnas[7].value.ToString() == DTEstructuraAthena.OrderUnit &&
                        columnas[8].value.ToString() == DTEstructuraAthena.Netprice &&
                        columnas[9].value.ToString() == DTEstructuraAthena.NetOrderValue &&
                        columnas[10].value.ToString() == DTEstructuraAthena.VendorSupplyingPlant &&
                        columnas[11].value.ToString() == DTEstructuraAthena.Currency &&
                        columnas[12].value.ToString() == DTEstructuraAthena.ReleaseState &&
                        columnas[13].value.ToString() == DTEstructuraAthena.DeletionIndicator &&
                        columnas[14].value.ToString() == DTEstructuraAthena.POHistory)
                    {
                        List <DTFilasExcel> ConInformacion = (from dt in filas
                                                              where dt.cells.Count(x => x.value == null) != dt.cells.Count() &&
                                                              dt.index != 0
                                                              select dt).ToList();
                        if (ConInformacion.Count > 0)
                        {
                            foreach (DTFilasExcel Fila in ConInformacion)
                            {
                                if (Fila.cells[Fila.cells.Count - 2].index == 13 && Fila.cells[Fila.cells.Count - 2].value != null)
                                {
                                    if (Fila.cells[Fila.cells.Count - 2].value.ToString() != "")
                                    {
                                        ConEliminacion++;  //Si finalmente es mayor que cero entonces significa que hay al menos una eliminación.
                                    }
                                }
                            }

                            if (ConEliminacion > 0 && Conf == 0)
                            {
                                DTErroresExcel Eliminar = new DTErroresExcel();
                                Eliminar.Fila = 1;

                                //Preguntar al usuario si realmente quiere reemplazar
                                DTResultadoModelCarga.Respuesta = false;
                                DTResultadoModelCarga.Resultado = Eliminar;
                                DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE007);
                                //Realmente desea reemplazar usuarios?
                            }
                            else
                            {
                                BMAthena _BMIM = new BMAthena();
                                DTResultadoModelCarga = _BMIM.LeerArchivo(ConInformacion, NombreArchivo);
                            }
                        }
                        else
                        {
                            DTResultadoModelCarga.Respuesta = false;
                            DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE004);
                        }
                    }
                    else
                    {
                        DTResultadoModelCarga.Respuesta = false;
                        DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE002);
                    }
                }
                else
                {
                    DTResultadoModelCarga.Respuesta = false;
                    DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE004);
                }
            }
            catch (Exception ex)
            {
                DTResultadoModelCarga.Respuesta = false;
                DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE001);
                GestorLog.RegistrarLogExcepcion(ex);
            }
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            return(serializer.Serialize(DTResultadoModelCarga));
        }
        public string ValidarArchivo(string Plantilla)
        {
            DTResultadoOperacionModel <DTSolped>       DTResultadoModel      = new DTResultadoOperacionModel <DTSolped>();
            DTResultadoOperacionModel <DTErroresExcel> DTResultadoModelCarga = new DTResultadoOperacionModel <DTErroresExcel>();

            //int ConEliminacion = 0;

            try
            {
                DTExcel             _Plantilla = JsonConvert.DeserializeObject <DTExcel>(Plantilla);
                List <DTFilasExcel> filas      = _Plantilla.sheets.First().rows;
                if (filas.Count > 1)
                {
                    //Validar el encabezado
                    List <DTColumnasExcel> columnas = filas.First().cells;

                    if (columnas[0].value.ToString().Trim() == DTEstructuraSolped.SolNro &&
                        columnas[1].value.ToString().Trim() == DTEstructuraSolped.NroOC &&
                        columnas[2].value.ToString().Trim() == DTEstructuraSolped.LineaPedido &&
                        columnas[3].value.ToString().Trim() == DTEstructuraSolped.NroArticulos &&
                        columnas[4].value.ToString().Trim() == DTEstructuraSolped.NroSPE &&
                        columnas[5].value.ToString().Trim() == DTEstructuraSolped.HACAT &&
                        columnas[6].value.ToString().Trim() == DTEstructuraSolped.PersonaSolicitud &&
                        columnas[7].value.ToString().Trim() == DTEstructuraSolped.FechaEnvio &&
                        columnas[8].value.ToString().Trim() == DTEstructuraSolped.Estado &&
                        columnas[9].value.ToString().Trim() == DTEstructuraSolped.Tipo &&
                        columnas[10].value.ToString().Trim() == DTEstructuraSolped.Articulo &&
                        columnas[11].value.ToString().Trim() == DTEstructuraSolped.Cantidad &&
                        columnas[12].value.ToString().Trim() == DTEstructuraSolped.TotalLinea &&
                        columnas[13].value.ToString().Trim() == DTEstructuraSolped.CodigoIVA &&
                        columnas[14].value.ToString().Trim() == DTEstructuraSolped.CuadroCuentas &&
                        columnas[15].value.ToString().Trim() == DTEstructuraSolped.PersonaCreador &&
                        columnas[16].value.ToString().Trim() == DTEstructuraSolped.FechaPedido &&
                        columnas[17].value.ToString().Trim() == DTEstructuraSolped.FechaCreacion &&
                        columnas[18].value.ToString().Trim() == DTEstructuraSolped.FechaEntrega &&
                        columnas[19].value.ToString().Trim() == DTEstructuraSolped.FechaCaducidad &&
                        columnas[20].value.ToString().Trim() == DTEstructuraSolped.Proveedor &&
                        columnas[21].value.ToString().Trim() == DTEstructuraSolped.Cuenta &&
                        columnas[22].value.ToString().Trim() == DTEstructuraSolped.IdOC &&
                        columnas[23].value.ToString().Trim() == DTEstructuraSolped.LeandingCostC &&
                        columnas[24].value.ToString().Trim() == DTEstructuraSolped.EstadoLinea &&
                        columnas[25].value.ToString().Trim() == DTEstructuraSolped.Divisa
                        )
                    {
                        List <DTFilasExcel> ConInformacion = (from dt in filas
                                                              where dt.cells.Count(x => x.value == null) != dt.cells.Count() &&
                                                              dt.index != 0
                                                              select dt).ToList();
                        if (ConInformacion.Count > 0)
                        {
                            BMSolped _BMSolped = new BMSolped();
                            DTResultadoModelCarga = _BMSolped.LeerArchivo(ConInformacion);
                        }
                        else
                        {
                            DTResultadoModelCarga.Respuesta = false;
                            DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE004);
                        }
                    }
                    else
                    {
                        DTResultadoModelCarga.Respuesta = false;
                        DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE002);
                    }
                }
                else
                {
                    DTResultadoModelCarga.Respuesta = false;
                    DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE004);
                }
            }
            catch (Exception ex)
            {
                DTResultadoModelCarga.Respuesta = false;
                DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE001);
                GestorLog.RegistrarLogExcepcion(ex);
            }
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            return(serializer.Serialize(DTResultadoModelCarga));
        }
Exemplo n.º 3
0
        public string ValidarArchivo(string Plantilla)
        {
            string RutaArchivo = string.Empty;
            DTResultadoOperacionModel <DTSolped>       DTResultadoModel      = new DTResultadoOperacionModel <DTSolped>();
            DTResultadoOperacionModel <DTErroresExcel> DTResultadoModelCarga = new DTResultadoOperacionModel <DTErroresExcel>();

            //int ConEliminacion = 0;

            try
            {
                DTExcel             _Plantilla = JsonConvert.DeserializeObject <DTExcel>(Plantilla);
                List <DTFilasExcel> filas      = _Plantilla.sheets.First().rows;
                string MesGastos  = _Plantilla.sheets.First().name;
                bool   FechaGasto = ValidarFechaGasto(MesGastos);

                if (filas.Count > 1)
                {
                    //Validar el encabezado
                    List <DTColumnasExcel> columnas = filas.First().cells;

                    if (columnas[0].value.ToString().Trim() == DTEstructuraGastos.NomCuenta &&
                        columnas[1].value.ToString().Trim() == DTEstructuraGastos.NomCentroC &&
                        columnas[2].value.ToString().Trim() == DTEstructuraGastos.NroCuenta &&
                        columnas[3].value.ToString().Trim() == DTEstructuraGastos.CentroCoste &&
                        columnas[4].value.ToString().Trim() == DTEstructuraGastos.Concatenar &&
                        columnas[5].value.ToString().Trim() == DTEstructuraGastos.Tipo &&
                        columnas[6].value.ToString().Trim() == DTEstructuraGastos.Mes &&
                        columnas[7].value.ToString().Trim() == DTEstructuraGastos.Ajustes &&
                        columnas[8].value.ToString().Trim() == DTEstructuraGastos.TotalMes
                        )
                    {
                        List <DTFilasExcel> ConInformacion = (from dt in filas
                                                              where dt.cells.Count(x => x.value == null) != dt.cells.Count() &&
                                                              dt.index != 0
                                                              select dt).ToList();
                        if (ConInformacion.Count > 0)
                        {
                            if (FechaGasto)
                            {
                                string   MesGastoReal = "01-" + MesGastos;
                                BMGastos _BMGastos    = new BMGastos();
                                DTResultadoModelCarga = _BMGastos.LeerArchivo(ConInformacion, MesGastoReal);
                            }
                            else
                            {
                                DTResultadoModelCarga.Respuesta = false;
                                DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE022);
                            }
                        }
                        else
                        {
                            DTResultadoModelCarga.Respuesta = false;
                            DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE004);
                        }
                    }
                    else
                    {
                        DTResultadoModelCarga.Respuesta = false;
                        DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE002);
                    }
                }
                else
                {
                    DTResultadoModelCarga.Respuesta = false;
                    DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE004);
                }
            }
            catch (Exception ex)
            {
                DTResultadoModelCarga.Respuesta = false;
                DTResultadoModelCarga.Mensaje   = DTMensaje.ObtenerObjetoMensaje(DTCodigoMensajes.MENSAJE001);
                GestorLog.RegistrarLogExcepcion(ex);
            }
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            return(serializer.Serialize(DTResultadoModelCarga));
        }