Exemplo n.º 1
0
        public string ComprasImportBL(string filename, string delimiter, BEUser userLocal)
        {
            //  Create the new table

            List <BECompras> lstCompras = new List <BECompras>();
            BECompras        beCompra   = new BECompras();


            HotelsDA DAAR = new HotelsDA();

            string[] nombreArchivo = filename.Split('\\');
            int      index         = nombreArchivo.Length - 1;
            string   resp;
            string   idarchivo = "";

            try
            {
                if (DAAR.ValidarArchivosCargados(nombreArchivo[index]) == "0")
                {
                    //if (DA.InsArchivoCaragado(filename) == "1")
                    resp = DAAR.InsArchivoCaragado(nombreArchivo[index], ref idarchivo);
                    if (resp == "1")
                    {
                        List <string> lista = new List <string>();

                        //obtengo los datos del fichero.

                        using (StreamReader fic = new StreamReader(filename))
                        {
                            string linea = null;
                            linea = fic.ReadLine();
                            while ((linea != null))
                            {
                                lista.Add(linea);
                                linea = fic.ReadLine();
                            }
                            fic.Close();
                        }
                        foreach (string registro in lista)
                        {
                            string[] columnNames = null;
                            beCompra    = new BECompras();
                            columnNames = registro.Split('|');

                            if (columnNames.Length <= 1)
                            {
                                throw new Exception("Existe una linea no valida");
                            }

                            beCompra.Num_Correlativo     = columnNames[0].Trim().ToUpper();
                            beCompra.Fec_Contabilizacion = columnNames[1].Trim().ToUpper();
                            beCompra.Uni_Negocio         = columnNames[2].Trim().ToUpper();
                            beCompra.tipoVenta           = columnNames[3].Trim().ToUpper();
                            beCompra.fechaEmision        = columnNames[5].Trim().ToUpper();
                            beCompra.tipo                     = columnNames[4].Trim().ToUpper();
                            beCompra.serie                    = columnNames[6].Trim().ToUpper();
                            beCompra.numero                   = columnNames[7].Trim().ToUpper();
                            beCompra.tipoPersona              = columnNames[8].Trim().ToUpper();
                            beCompra.tipoDocPersona           = columnNames[9].Trim().ToUpper();
                            beCompra.numDocumento             = columnNames[10].Trim().ToUpper();
                            beCompra.razonSocialCliente       = columnNames[11].Trim().ToUpper();
                            beCompra.apePaterno               = columnNames[12].Trim().ToUpper();
                            beCompra.apeMaterno               = columnNames[13].Trim().ToUpper();
                            beCompra.nombre1                  = columnNames[14].Trim().ToUpper();
                            beCompra.nombre2                  = columnNames[15].Trim().ToUpper();
                            beCompra.tipoMoneda               = columnNames[16].Trim().ToUpper();
                            beCompra.codDestino               = columnNames[17].Trim().ToUpper();
                            beCompra.numeroDestino            = columnNames[18].Trim().ToUpper();
                            beCompra.baseImponibleOperGravada = columnNames[19].Trim().ToUpper();
                            beCompra.isc                        = columnNames[20].Trim().ToUpper();
                            beCompra.igv                        = columnNames[21].Trim().ToUpper();
                            beCompra.otros                      = columnNames[22].Trim().ToUpper();
                            beCompra.indicePercepcion           = columnNames[23].Trim().ToUpper();
                            beCompra.tasaPercepcion             = columnNames[24].Trim().ToUpper();
                            beCompra.seriePercepcion            = columnNames[25].Trim().ToUpper();
                            beCompra.numDocPercepcion           = columnNames[26].Trim().ToUpper();
                            beCompra.tipoTabla10                = columnNames[27].Trim().ToUpper();
                            beCompra.serieDocOriginal           = columnNames[28].Trim().ToUpper();
                            beCompra.numDocOriginal             = columnNames[29].Trim().ToUpper();
                            beCompra.fechaDocOriginal           = columnNames[30].Trim().ToUpper();
                            beCompra.baseImponibleOperGravadaNC = columnNames[31].Trim().ToUpper();
                            beCompra.IGVNC                      = columnNames[32].Trim().ToUpper();
                            lstCompras.Add(beCompra);
                        }

                        //Log_ImportarDA LOGIDA = new Log_ImportarDA();
                        //LOGIDA.Limpiar_Log();

                        ComprasDA DA = new ComprasDA();
                        return(DA.INSListCompras(lstCompras, userLocal, idarchivo));
                    }
                    else
                    {
                        throw new Exception(resp);
                    }
                }
                else
                {
                    throw new Exception("El archivo ya se cargo anteriormente");
                }
            }
            catch (Exception ex)
            {
                return("0|  " + ex.Message);
            }
            //    }
            //    else
            //    {
            //        return resp;
            //    }
            //}
            //else
            //{
            //    return "0:El archivo ya se cargo anteriormente";
            //}
        }