Esempio n. 1
0
        private String generarArchivo()
        {
            Logs objL = new Logs();

            try
            {
                ArchivoSalida = this.txbArchivoSalida.Text;
                nombreArchivo = String.Concat("COPIA_" + this.ddlNombreCuenta.Text, "_", this.ddlFechas.Text.Replace("/", ""),
                                              this.ddlConsecutivo.Text, "_", writeMilitaryTime(DateTime.Now), ".txt");

                if (this.ddlTipoArchivo.SelectedIndex == 1)
                {
                    Directorio = ArchivoSalida + "ArchivosAsobancaria\\";
                }
                else if (this.ddlTipoArchivo.SelectedIndex == 2)
                {
                    Directorio = ArchivoSalida + "ArchivosTelefonoRojo\\";
                }

                //SE CREA LA CARPETA DONDE VAN A QUEDAR LOS ARCHIVOS SINO EXISTE
                if (!Directory.Exists(Directorio))
                {
                    System.IO.Directory.CreateDirectory(Directorio);
                }

                sw = new StreamWriter(Directorio + nombreArchivo, false);

                DataTable tabla = new HistorialArchivosSalidaLN().consultarLineasConsecutivo
                                      (this.ddlNombreCuenta.Text, this.ddlTipoArchivo.Text, this.ddlFechas.Text, this.ddlConsecutivo.Text);
                foreach (DataRow fila in tabla.Rows)
                {
                    sw.WriteLine(Convertidor.aCadena(fila["LINEAS_ARCHIVO"]));
                }
                sw.Close();

                objL.pFecha       = Convert.ToString(DateTime.Now.ToString("yyyy-MM-dd") + " " + DateTime.Now.ToString("H:mm:ss"));
                objL.pUsuario     = HttpContext.Current.User.Identity.Name;
                objL.pDetalle     = this.ddlNombreCuenta.SelectedItem.Text + " : Archivo " + ddlTipoArchivo.SelectedItem.Text + " fue generado correctamente";
                objL.pTipoArchivo = ddlTipoArchivo.Text;
                objL.pTipoProceso = "GEN";
                new LogsLN().insertar(objL);
                return("Archivo fue generado correctamente");
            }

            catch (Exception ex)
            {
                objL.pFecha       = Convert.ToString(DateTime.Now.ToString("yyyy-MM-dd") + " " + DateTime.Now.ToString("H:mm:ss"));
                objL.pUsuario     = HttpContext.Current.User.Identity.Name;
                objL.pDetalle     = this.ddlNombreCuenta.SelectedItem.Text + " , Archivo " + ddlTipoArchivo.SelectedItem.Text + " : " + ex.Message;
                objL.pTipoArchivo = ddlTipoArchivo.Text;
                objL.pTipoProceso = "GEN";
                new LogsLN().insertar(objL);
                return(ex.Message);
            }
        }
Esempio n. 2
0
        //SE GUARDA TODAS LAS LINEAS DEL ARCHIVO ASOBANCARIA EN LA BASE DE DATOS
        private void guardarLineas(String fecha, String IdCuentaBanco, String Consecutivo, String Linea)
        {
            int valor = 0;
            HistorialArchivosSalida   objEntidad = new HistorialArchivosSalida();
            HistorialArchivosSalidaLN objHA      = new HistorialArchivosSalidaLN();

            objEntidad.pFecha         = fecha;
            objEntidad.pIdCuentaBanco = IdCuentaBanco;
            objEntidad.pTipoArchivo   = TipoProcesoXCuenta;
            objEntidad.pConsecutivo   = Consecutivo;
            objEntidad.pLineaDetalle  = Linea;
            valor = objHA.insertar(objEntidad);
            if (valor <= 0)
            {
                throw new System.Exception("Ocurrio un error al guardar archivo plano en la base de datos");
            }
        }
Esempio n. 3
0
        //SE CREA EL ARCHIVO ASOBANCARIA
        private void escribirArchivo(String CodigoBanco, String IdCuentaBanco, DataSet tabla)
        {
            try
            {
                ListaLinea1EA = new List <Bancos.EN.Tablas.EstructuraArchivo>();
                ListaLinea2EL = new List <Bancos.EN.Tablas.EstructuraArchivo>();
                ListaLinea3DT = new List <Bancos.EN.Tablas.EstructuraArchivo>();
                ListaLinea4CL = new List <Bancos.EN.Tablas.EstructuraArchivo>();
                ListaLinea5CA = new List <Bancos.EN.Tablas.EstructuraArchivo>();

                ListaLinea1EA.AddRange(consultarEstructuraAsobancaria("1EA", TipoProcesoXCuenta));
                ListaLinea2EL.AddRange(consultarEstructuraAsobancaria("2EL", TipoProcesoXCuenta));
                ListaLinea3DT.AddRange(consultarEstructuraAsobancaria("3DT", TipoProcesoXCuenta));
                ListaLinea4CL.AddRange(consultarEstructuraAsobancaria("4CL", TipoProcesoXCuenta));
                ListaLinea5CA.AddRange(consultarEstructuraAsobancaria("5CA", TipoProcesoXCuenta));

                //SE CREA EL NOMBRE DEL ARCHIVO SEGUN LOS PARAMETROS ASOBANCARIA
                nombreArchivo = String.Concat(IdCuentaBanco, "_", DateTime.Now.ToString("ddMMyyyy"),
                                              "_", writeMilitaryTime(DateTime.Now), ".txt");

                sw = new StreamWriter(Directorio + nombreArchivo, false);
                ArrayList line1EA = new ArrayList()
                {
                    "1EA", CodigoBanco
                };                                                          //ARREGLO LLEVA EL CODIGO DE TRANSITO QUE CAMBIA PARA CADA BANCO
                ArrayList line2EL = new ArrayList()
                {
                    "2EL"
                };
                ArrayList line3DT = new ArrayList(); //ARREGLO LLEVA EL CONTRATO,VALOR,FECHA VENCIMIENTO,IDENTIFICACION Y CODIGO DE TRANSITO
                ArrayList line4CL = new ArrayList()
                {
                    "4CL"
                };                                             //ARREGLO LLEVA EL TOTAL DEL REGISTRO DEL LOTE Y EL TOTAL DEL VALOR DE SERVICIO
                ArrayList line5CA = new ArrayList()
                {
                    "5CA"
                };                                             //ARREGLO LLEVA EL TOTAL DEL VALOR DE SERVICIO

                Fecha = Convert.ToString(DateTime.Now.ToString("dd/MM/yyyy"));

                //SE ADICIONA UN CONSECUTIVO SEGUN EL NUMERO DE ARCHIVO QUE EXISTAN DEL MISMO DIA
                int numColumnas = 0;
                HistorialArchivosSalidaLN columnas = new HistorialArchivosSalidaLN();
                numColumnas = columnas.consultarConsecutivoXBanco(IdCuentaBanco, TipoProcesoXCuenta, Fecha).Rows.Count;

                if (numColumnas == 0)
                {
                    ConsecutivoArchivo = "A";
                }
                else
                {
                    ConsecutivoArchivo = consecutivo(numColumnas);
                }


                #region Armar Linea Encabezado Archivo

                line1EA.Add(ConsecutivoArchivo);
                LineaArmada1EA = armarLineas(line1EA, ListaLinea1EA);
                sw.WriteLine(LineaArmada1EA);
                llenarTablaParaActualizados(Fecha, IdCuentaBanco, ConsecutivoArchivo, LineaArmada1EA);
                registrosLote += 1;

                #endregion

                #region Armar Linea Encabezado Lote

                LineaArmada2EL = armarLineas(line2EL, ListaLinea2EL);
                sw.WriteLine(LineaArmada2EL);
                llenarTablaParaActualizados(Fecha, IdCuentaBanco, ConsecutivoArchivo, LineaArmada2EL);
                registrosLote += 1;

                #endregion

                #region Armar Linea Detalle

                foreach (DataRow renglon in tabla.Tables[0].Rows)
                {
                    line3DT.Add("3DT");
                    line3DT.Add(renglon[0].ToString().Trim());//CONTRATO

                    if (renglon[1].ToString().Contains("."))
                    {
                        line3DT.Add(renglon[1].ToString().Replace(".", ",").Trim());//VALOR SERVICIO PRINCIPAL
                    }
                    else
                    {
                        line3DT.Add(renglon[1].ToString().Trim());//VALOR SERVICIO PRINCIPAL
                    }
                    line3DT.Add(renglon[2].ToString().Trim());
                    line3DT.Add(renglon[3].ToString().Trim());
                    line3DT.Add(CodigoBanco);
                    LineaArmada3DT = armarLineas(line3DT, ListaLinea3DT);
                    sw.WriteLine(LineaArmada3DT);
                    llenarTablaParaActualizados(Fecha, IdCuentaBanco, ConsecutivoArchivo, LineaArmada3DT);
                    line3DT.Clear();
                    registrosLote += 1;

                    if (renglon[1].ToString().Contains("."))
                    {
                        valorServicio += Convert.ToDouble(renglon[1].ToString().Replace(".", ",").Trim());
                    }
                    else
                    {
                        valorServicio += Convert.ToDouble(renglon[1].ToString().Trim());
                    }

                    LineaArmada3DT = String.Empty;
                }

                #endregion

                #region Armar Linea Control Lote

                line4CL.Add(registrosLote - 2);
                line4CL.Add(valorServicio);
                LineaArmada4CL = armarLineas(line4CL, ListaLinea4CL);
                sw.WriteLine(LineaArmada4CL);
                llenarTablaParaActualizados(Fecha, IdCuentaBanco, ConsecutivoArchivo, LineaArmada4CL);
                registrosLote += 1;

                #endregion

                #region Armar Linea Control Archivo

                line5CA.Add(valorServicio);
                LineaArmada5CA = armarLineas(line5CA, ListaLinea5CA);
                sw.WriteLine(LineaArmada5CA);
                llenarTablaParaActualizados(Fecha, IdCuentaBanco, ConsecutivoArchivo, LineaArmada5CA);
                registrosLote += 1;

                #endregion

                sw.Close();
            }
            catch
            {
                sw.Close();
                File.Delete(Directorio + nombreArchivo);
                throw new System.Exception("Ocurrio un error al crear archivo plano");
            }
        }