예제 #1
0
        public String insertarArchivoBolsaAD(String procedimiento, ArchivoEN objEntidad)
        {
            DataTable dt = new DataTable();

            //Add columns

            try
            {
                string[,,] Valor = new string[3, 3, 1];

                Valor[0, 0, 0] = objEntidad.Fecha.ToString();
                Valor[0, 1, 0] = "@inFecha";
                Valor[0, 2, 0] = "date";

                Valor[1, 0, 0] = objEntidad.RutaArchivo;
                Valor[1, 1, 0] = "@inRutaArchivo";
                Valor[1, 2, 0] = "varchar(max)";

                Valor[2, 0, 0] = "I";
                Valor[2, 1, 0] = "@inOperacion";
                Valor[2, 2, 0] = "varchar(2)";


                return(wsc.Ejecutar(Valor, procedimiento, "SQLBancos"));
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
예제 #2
0
        public String elimiarArchivoBolsaAD(String procedimiento, ArchivoEN objEntidad)
        {
            try
            {
                string[,,] Param = new string[3, 3, 1];

                Param[0, 0, 0] = objEntidad.Fecha;
                Param[0, 1, 0] = "@inFecha";
                Param[0, 2, 0] = "date";

                Param[1, 0, 0] = objEntidad.RutaArchivo;
                Param[1, 1, 0] = "@inRutaArchivo";
                Param[1, 2, 0] = "varchar(MAX)";

                Param[2, 0, 0] = "E";
                Param[2, 1, 0] = "@inOperacion";
                Param[2, 2, 0] = "varchar(2)";

                return(wsc.Ejecutar(Param, procedimiento, "SQLBancos"));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
예제 #3
0
        public IList <ArchivoEN> consultarArchivoBolsaAD(String procedimiento, ArchivoEN objEntidad)
        {
            List <ArchivoEN>  listParametro = new List <ArchivoEN>();
            List <string[, ]> lista         = new List <string[, ]>();

            try
            {
                string[,,] Param = new string[3, 3, 1];

                Param[0, 0, 0] = objEntidad.Fecha;
                Param[0, 1, 0] = "@inFecha";
                Param[0, 2, 0] = "date";

                Param[1, 0, 0] = objEntidad.RutaArchivo;
                Param[1, 1, 0] = "@inRutaArchivo";
                Param[1, 2, 0] = "varchar(MAX)";

                Param[2, 0, 0] = "C";
                Param[2, 1, 0] = "@inOperacion";
                Param[2, 2, 0] = "varchar(2)";

                lista = wsc.LlenarLista(Param, procedimiento, "SQLBancos", "SP", "Sql");
                string[,] Valida;

                if (lista.Count > 0)
                {
                    for (int i = 0; i < lista.Count; i++)
                    {
                        ArchivoEN objParametros = new ArchivoEN();
                        Valida = lista[i];

                        ////objParametros.codigoBanco = Convert.ToInt32(Valida[0, 1].ToString());
                        objParametros.Fecha       = Valida[1, 1].ToString();
                        objParametros.RutaArchivo = Valida[2, 1].ToString();
                        listParametro.Add(objParametros);
                    }
                }

                return(listParametro);
            }
            catch (Exception)
            {
                return(listParametro);
            }
        }
예제 #4
0
        public string eliminarArchivoBolsaLN(ArchivoEN objEntidad)
        {
            String respuesta = new ArchivoAD().elimiarArchivoBolsaAD(SP_QueryArchivoBolsa, objEntidad);

            return(respuesta);
        }
예제 #5
0
        public IList <ArchivoEN> consultarArchivoBolsaLN(ArchivoEN objEntidad)
        {
            IList <ArchivoEN> lista = new ArchivoAD().consultarArchivoBolsaAD(SP_QueryArchivoBolsa, objEntidad);

            return(lista);
        }
예제 #6
0
        public List <String> obtenerBancosPagosOnline(ref bool procesoConError, List <ArchivoEN> archivosOrdenados)
        {
            #region "Atributos Bancos"
            String    NombreCuenta;
            String    CodigoCuenta;
            String    ArchivoSalida = "";
            String    TipoProceso;
            ArrayList CorreosControl = new ArrayList();
            String    CodigoBanco;
            String    NumCuenta;
            String    TipoCuenta;
            String    Remitente;
            #endregion

            List <String> RespuestaProceso = new List <String>();

            try
            {
                //OBTIENE UNA LISTA DE OBJETOS DE BANCOS
                List <Banco>    lista = new List <Banco>();
                EN.Tablas.Banco objB  = new EN.Tablas.Banco();
                objB.pActivo      = true;
                objB.pTipoProceso = "POL_";
                BancoLN objBancoLN = new BancoLN();
                lista = objBancoLN.consultar(objB);
                //OBTIENE LAS RUTAS DE LOS BANCOS
                RutaLN objRutaLN = new RutaLN();
                Ruta   objRuta   = new Ruta();
                //RECORREN TODOS LOS BANCOS Y LOS ENVIA UNO A UNO AL SERVICIO WEB PagosOnline
                foreach (Banco bank in lista)
                {
                    TipoProceso    = bank.pTipoProceso;
                    NombreCuenta   = bank.pNombreCuenta;
                    CodigoCuenta   = bank.pIdCuentaBanco;
                    TipoCuenta     = bank.pTipoCuenta;
                    NumCuenta      = bank.pNumCuenta;
                    CodigoBanco    = bank.pCodigoBanco;
                    CorreoControlB = bank.pCorreoControl.Split(';');
                    foreach (string cc in CorreoControlB)
                    {
                        if (string.IsNullOrEmpty(cc))
                        {
                            break;
                        }
                        CorreosControl.Add(cc);
                    }
                    Remitente     = bank.pRemitente;
                    objRuta.pOid  = bank.pRutaArchivosEntrada;
                    ArchivoSalida = objRutaLN.consultar(objRuta)[0].pRuta;

                    mensaje = CorrerPagosOnline(NombreCuenta, CodigoCuenta, ArchivoSalida, CorreosControl,
                                                CodigoBanco, NumCuenta, TipoCuenta, Remitente, TipoProceso);
                    if (!mensaje.Equals("Proceso Pagos Online ejecutado con exito!!"))
                    {
                        procesoConError = true;
                    }
                    RespuestaProceso.Add(bank.pNombreCuenta + ": " + mensaje);
                    CorreosControl.Clear();
                }

                //AQUI INVOCA SERVICIO WSBANCOS PARA PROCESAR LOS PAGOS DE CADA UNO DE LOS ARCHIVOS
                #region Consultar  tabla bolsa
                //ArchivoLN archivoLN = new ArchivoLN();
                //ArchivoEN archivoEN = new ArchivoEN();
                //archivoEN.Fecha = System.DateTime.Now.ToString("yyyy-MM-dd");
                //archivoLN.consultarArchivoBolsaLN(archivoEN);
                if (archivosOrdenados.Count > 0)
                {
                    ArchivoEN topOne = archivosOrdenados.ElementAt(0);
                    #endregion

                    ServicioBancos.WsBancos ProcesoPagos = new ServicioBancos.WsBancos();
                    System.IO.DirectoryInfo dirInfo      = new System.IO.DirectoryInfo(ArchivoSalida);

                    System.IO.FileInfo[] fileNames = dirInfo.GetFiles("*.*");

                    foreach (System.IO.FileInfo archivos in fileNames)
                    {
                        if (topOne.RutaArchivo == ArchivoSalida + archivos.Name)
                        {
                            mensaje = ProcesoPagos.LecturaPagos("usuario", "Pasword", ArchivoSalida, archivos.Name, "S");
                            //   mensaje = ProcesoPagos.LecturaPagos("", "", ArchivoSalida, archivos.Name, "S");
                            RespuestaProceso.Add("PagosOnline: " + mensaje);
                        }
                    }
                    return(RespuestaProceso);
                }
                return(RespuestaProceso);
            }
            catch (Exception ex)
            {
                procesoConError = true;
                RespuestaProceso.Add(ex.Message);
                return(RespuestaProceso);
            }
        }
예제 #7
0
파일: Recaudo.cs 프로젝트: Camilo198/Bancos
        public List <String> obtenerBancosRecaudoDiario(ref bool procesoConError, List <ArchivoEN> archivosOrdenados)
        {
            #region "Atributos Bancos"
            String    NombreCuenta;
            String    IdCuentaBanco;
            String    IdCuentaBancoEpicor;
            String    RutaEntrada;
            String    RutaProcesado;
            String    RutaSalidaEpicor;
            String    TipoProceso;
            ArrayList CorreosControl = new ArrayList();
            String    CodigoBanco;
            String    Remitente;
            String    TipoCuenta;
            String    NumCuenta;
            String    Asobancaria;
            #endregion

            List <String>     RespuestaProceso = new List <String>();
            List <string[, ]> resDis;

            //BANFAS2 duvan ramirez

            string fechaActual = null, resp;
            //List<Ftp_control> res;
            Correo objCorreo    = new Correo();
            Correo objCorreoRes = new Correo();

            try
            {
                //OBTIENE UNA LISTA DE OBJETOS DE BANCOS
                List <Banco>    lista = new List <Banco>();
                EN.Tablas.Banco objB  = new EN.Tablas.Banco();
                objB.pActivo      = true;
                objB.pTipoProceso = "ABR_";
                BancoLN objBancoLN = new BancoLN();
                lista = objBancoLN.consultar(objB);
                //OBTIENE LAS RUTAS DE LOS BANCOS
                objCorreo    = ObtenerCorreos();
                objCorreoRes = objCorreo;
                RutaLN objRutaLN = new RutaLN();
                Ruta   objRuta   = new Ruta();
                //RECORREN TODOS LOS BANCOS Y LOS ENVIA UNO A UNO AL SERVICIO WEB Bancos
                foreach (Banco bank in lista)
                {
                    TipoProceso         = bank.pTipoProceso;
                    IdCuentaBanco       = Convert.ToString(bank.pId.Value);
                    NombreCuenta        = bank.pNombreCuenta;
                    IdCuentaBancoEpicor = bank.pIdCuentaBanco;
                    CorreoControlB      = bank.pCorreoControl.Split(';');

                    if (IdCuentaBanco == "61")
                    {
                        CodigoBanco = bank.pCodigoBanco;
                    }


                    foreach (string cc in CorreoControlB)
                    {
                        if (string.IsNullOrEmpty(cc))
                        {
                            break;
                        }
                        CorreosControl.Add(cc);
                    }

                    CodigoBanco      = bank.pCodigoBanco;
                    Remitente        = bank.pRemitente;
                    objRuta.pOid     = bank.pRutaArchivosEntrada;
                    RutaEntrada      = objRutaLN.consultar(objRuta)[0].pRuta;
                    objRuta.pOid     = bank.pRutaArchivosSalida;
                    RutaProcesado    = objRutaLN.consultar(objRuta)[0].pRuta;
                    objRuta.pOid     = bank.pRutaArchivosSalidaEpicor;
                    RutaSalidaEpicor = objRutaLN.consultar(objRuta)[0].pRuta;
                    TipoCuenta       = bank.pTipoCuenta;
                    NumCuenta        = bank.pNumCuenta;
                    Asobancaria      = bank.pAsobancaria;


                    #region DESENCRIPCION ARCHIVO

                    LectorArchivos objLector     = new LectorArchivos();
                    List <String>  listaArchivos = objLector.listarDirectorioPGP(RutaEntrada);
                    if (listaArchivos.Count > 0)
                    {
                        foreach (String archivo in listaArchivos)
                        {
                            //Objeto trasnferencia GMF
                            try
                            {//Solicitar cifrado enviando ruta
                                string inputFileLocation = @archivo;
                                string respActualiza     = "";



                                bool esperar = true, actualiza = true;

                                objTransferencia.id = "6";
                                objTransferencia.rutaRepositorio = RutaEntrada;
                                objTransferencia.nomArchivo      = inputFileLocation.Substring(RutaEntrada.Length, inputFileLocation.Length - RutaEntrada.Length);
                                objTransferencia.nomArchivo      = objTransferencia.nomArchivo;
                                if (File.Exists(RutaEntrada + objTransferencia.nomArchivo))
                                {
                                    objTransferencia.fechaCreacion = File.GetLastWriteTime(RutaEntrada + objTransferencia.nomArchivo);
                                }

                                do
                                {
                                    if (actualiza)
                                    {
                                        respActualiza = objTranferenciaLN.ActualizaDescifrado(objTransferencia);

                                        if (!respActualiza.Equals("1"))
                                        {
                                            EnvioMail("", "Error en la actualizacion de descifrado recaudo", "error actualizando rutas para el decifrado del archivo" + inputFileLocation, objCorreo.mailTo, objCorreo.mailFrom, objCorreo.mailCC);
                                            esperar = false;
                                        }
                                        actualiza = false;
                                    }
                                    resp = objTranferenciaLN.consultaDisponibilidadDescifrado(objTransferencia);

                                    if (resp.Equals("False"))
                                    {
                                        esperar = false;
                                    }
                                } while (esperar);
                                modificarFechaCreacion(objTransferencia);
                            }
                            catch (Exception ex)
                            {
                                RespuestaProceso.Add(bank.pNombreCuenta + ": " + ex.Message);
                                procesoConError = true;
                                goto line;
                            }
                        }
                    }

                    #endregion

                    //Marina RT  Se valida si la estructura del archivo origen no es asobancaria para correr el proceso de conversion de estructura
                    //LLenar tabla temporal con la rutaEntrada y las fechas de los archivos que tiene adentro



                    if (Asobancaria == "N")
                    {
                        mensaje = CorrerRecaudoDiario(NombreCuenta, IdCuentaBanco, IdCuentaBancoEpicor, RutaEntrada, RutaProcesado,
                                                      CorreosControl, Remitente, CodigoBanco, NumCuenta,
                                                      TipoCuenta, RutaSalidaEpicor, TipoProceso);
                        RutaEntrada = RutaProcesado;
                        if (!mensaje.Equals("Proceso Recaudo Diario ejecutado con exito!!"))
                        {
                            procesoConError = true;
                        }
                    }
                    else
                    {
                        mensaje         = RutaEntrada + ": Archivo original es Asobancaria";
                        procesoConError = true;
                    }


                    // AQUI ..Marina RT se adiciona línea que invoca el servicio web que aplica pagos de primeras inversiones y genera plano para SICO


                    if (procesoConError)
                    {
                        if (archivosOrdenados.Count > 0)
                        {
                            ArchivoEN topOne = archivosOrdenados.ElementAt(0);
                            ServicioBancos.WsBancos ProcesoPagos = new ServicioBancos.WsBancos();
                            System.IO.DirectoryInfo dirInfo      = new System.IO.DirectoryInfo(RutaEntrada);

                            System.IO.FileInfo[] fileNames = dirInfo.GetFiles("*.*");

                            foreach (System.IO.FileInfo archivos in fileNames)
                            {
                                if (topOne.RutaArchivo == RutaEntrada + archivos.Name)
                                {
                                    ProcesoPagos.Timeout = 300000;
                                    mensaje = ProcesoPagos.LecturaPagos("usuario", "Pasword", RutaEntrada, archivos.Name, "N");

                                    RespuestaProceso.Add(bank.pNombreCuenta + ": " + mensaje);
                                }
                            }
                        }
                    }
                }

line:

                CorreosControl.Clear();


                return(RespuestaProceso);
            }
            catch (Exception ex)
            {
                RespuestaProceso.Add(ex.Message);
                return(RespuestaProceso);
            }
        }