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); } }
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); } }
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); } }
public string eliminarArchivoBolsaLN(ArchivoEN objEntidad) { String respuesta = new ArchivoAD().elimiarArchivoBolsaAD(SP_QueryArchivoBolsa, objEntidad); return(respuesta); }
public IList <ArchivoEN> consultarArchivoBolsaLN(ArchivoEN objEntidad) { IList <ArchivoEN> lista = new ArchivoAD().consultarArchivoBolsaAD(SP_QueryArchivoBolsa, objEntidad); return(lista); }
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); } }
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); } }