コード例 #1
0
ファイル: PagosOnline.cs プロジェクト: Camilo198/Bancos
        public String CorrerPagosOnline(String NombreCuenta, String CodigoCuenta, String ArchivoSalida,
                                        ArrayList CorreosControl, String CodigoBanco, String NumCuenta,
                                        String TipoCuenta, String Remitente, String TipoProceso)
        {
            String mens;

            try
            {
                ServicioPagosOnline.PagosOnline procesoPayOnline;
                procesoPayOnline = new ServicioPagosOnline.PagosOnline();
                mens             = procesoPayOnline.ServicioPagosOnline(NombreCuenta, CodigoCuenta, ArchivoSalida,
                                                                        (String[])CorreosControl.ToArray(typeof(String)),
                                                                        CodigoBanco, NumCuenta, TipoCuenta, Remitente,
                                                                        "TAREA PROGRAMADA", TipoProceso);
                ServicioBancos.WsBancos ProcesoPagos = new ServicioBancos.WsBancos();
                mensaje = ProcesoPagos.LecturaPagos("usuario", "Pasword", ArchivoSalida, ArchivoSalida, "S");

                return(mens + "-" + mensaje);
            }
            catch (Exception ex)
            {
                return(ex.Message);
                //return "Error en el servicio";
            }
        }
コード例 #2
0
ファイル: PagosOnline.cs プロジェクト: Camilo198/Bancos
        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);
            }
        }
コード例 #3
0
        public List <String> obtenerBancosTarjetasCredito(ref bool procesoConError)
        {
            #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;
            #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 = "TCR_";
                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 AsoBancaria
                foreach (Banco bank in lista)
                {
                    TipoProceso         = bank.pTipoProceso;
                    IdCuentaBanco       = Convert.ToString(bank.pId.Value);
                    NombreCuenta        = bank.pNombreCuenta;
                    IdCuentaBancoEpicor = bank.pIdCuentaBanco;
                    CorreoControlB      = bank.pCorreoControl.Split(';');

                    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;

                    mensaje = CorrerTarjetaCredito(NombreCuenta, IdCuentaBanco, IdCuentaBancoEpicor, RutaEntrada, RutaProcesado,
                                                   CorreosControl, Remitente, CodigoBanco, NumCuenta,
                                                   TipoCuenta, RutaSalidaEpicor, TipoProceso);


                    if (!mensaje.Equals("Proceso Archivos Tarjeta Credito 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
                    ServicioBancos.WsBancos ProcesoPagos = new ServicioBancos.WsBancos();
                    System.IO.DirectoryInfo dirInfo      = new System.IO.DirectoryInfo(RutaProcesado);

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

                    foreach (System.IO.FileInfo archivos in fileNames)
                    {
                        mensaje = ProcesoPagos.PagosTarjeta("usuario", "Pasword", RutaProcesado, archivos.Name);
                        RespuestaProceso.Add("Proceso Pagos TC: " + mensaje);
                    }
                }

                return(RespuestaProceso);
            }
            catch (Exception ex)
            {
                procesoConError = true;
                RespuestaProceso.Add(ex.Message);
                return(RespuestaProceso);
            }
        }
コード例 #4
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);
            }
        }