public String trasladarArchivosFTP() { try { Ftp objF = new Ftp(); FtpLN objFtpLN = new FtpLN(); List <Ftp> listaF = objFtpLN.consultar(objF); if (listaF.Count > 0) { foreach (Ftp objFtp in listaF) { int valor = 0; try { ArrayList archivos = new ArrayList(); // archivos = ConectorFTP.listarArchivos(objFtp.pUrlFtp, objFtp.pUsuarioFtp, objFtp.pClaveFtp, objFtp.pFtpSeguro, Convert.ToDateTime(objFtp.pFechaUltimoIngreso), objFtp.pFormato, objFtp.pPrefijo); foreach (string x in archivos) { ConectorFTP.moverArchivos(objFtp.pUrlFtp + x.Substring(39), objFtp.pUsuarioFtp, objFtp.pClaveFtp, objFtp.pRutaDestino + x.Substring(39), objFtp.pFtpSeguro.Value); } objFtp.pFechaUltimoIngreso = Convert.ToString(DateTime.Now); valor = objFtpLN.actualizarFecha(objFtp); if (valor == 0) { throw new Exception("Ocurrio un error a actualizar fecha de ultimo ingreso. Reemplazela para evitar archivos duplicados"); } } catch (Exception ex) { ConexionError = ConexionError + "Error en ftp : " + objFtp.pUrlFtp + " (" + ex.Message + "),"; } } if (String.IsNullOrEmpty(ConexionError)) { return("Se han movido todos los archivos"); } else { return("Se han movido algunos archivos y ocurrio un " + ConexionError); } } else { return("No se encontraron registros de configuración FTP"); } } catch (Exception ex) { return(ex.Message); } }
public String ServicioAso(String NombreCuenta, String IdCuentaBancoEpicor, String ArchivoSalidaAsobancaria, bool EsFTP, String UrlFTP, String UsuarioFTP, String ClaveFTP, ArrayList CorreosControl, ArrayList CorreosEnvio, String CodigoBanco, String Remitente, String Usuario, String TipoProceso) { TipoProcesoXCuenta = TipoProceso; //AQUI MARINA RT VALIDAR UTILIDAD DE CODIGO SERVICIO DE EPICOR // ServicioContrato.ChevyplanWS contratos = new ServicioContrato.ChevyplanWS(); // contratos.Timeout = -1; Logs objL = new Logs(); EnviarCorreo Correo = new EnviarCorreo(); ConectorFTP Ftp = new ConectorFTP(); DataSet tablaContratos = new DataSet(); // tablaContratos = contratos.Asobancaria_ArchivoPlano(); if (tablaContratos.Tables.Count == 0 || tablaContratos.Tables[0].Rows.Count == 0) { objL.pFecha = Convert.ToString(DateTime.Now.ToString("yyyy-MM-dd") + " " + DateTime.Now.ToString("H:mm:ss")); objL.pUsuario = Usuario; objL.pDetalle = NombreCuenta + ", Asobancaria : No se encontraron registros para procesar"; objL.pTipoArchivo = TipoProcesoXCuenta; objL.pTipoProceso = "GEN"; new LogsLN().insertar(objL); return("No se encontraron registros para procesar"); } tipoArchivo = "Asobancaria"; Directorio = @ArchivoSalidaAsobancaria; //SE CREA LA CARPETA DONDE VAN A QUEDAR LOS ARCHIVOS DE ASOBANCARIA SI NO EXISTE if (!Directory.Exists(Directorio)) { System.IO.Directory.CreateDirectory(Directorio); } #region CREAR COLUMNAS DE LA TABLA CON LOS DATOS PARA GUARDAR LAS LINEAS EN UNA BD LineasArmadasdt.Columns.Add("fecha"); LineasArmadasdt.Columns.Add("IdCuentaBanco"); LineasArmadasdt.Columns.Add("consecutivo"); LineasArmadasdt.Columns.Add("lineaArmada"); #endregion try { escribirArchivo(CodigoBanco, IdCuentaBancoEpicor, tablaContratos); foreach (DataRow row in LineasArmadasdt.Rows) { guardarLineas(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString()); } LineasArmadasdt.Clear(); if (EsFTP) { Ftp.enviarArchivoXFtp(Directorio, UrlFTP, UsuarioFTP, ClaveFTP, nombreArchivo); if (CorreosControl.Count > 0) { Correo.enviarArchivoXCorreoControlE(Directorio, CorreosControl, nombreArchivo, Remitente, registrosLote, UrlFTP, UsuarioFTP, tipoArchivo); } } else { if (CorreosEnvio.Count > 0) { Correo.enviarArchivoXCorreoEnvio(Directorio, CorreosEnvio, nombreArchivo, Remitente, registrosLote, tipoArchivo); } if ((CorreosControl.Count > 0) && (CorreosEnvio.Count > 0)) { Correo.enviarArchivoXCorreoControlC(Directorio, CorreosControl, CorreosEnvio, nombreArchivo, Remitente, registrosLote, tipoArchivo); } } objL.pFecha = Convert.ToString(DateTime.Now.ToString("yyyy-MM-dd") + " " + DateTime.Now.ToString("H:mm:ss")); objL.pUsuario = Usuario; objL.pDetalle = NombreCuenta + ", Asobancaria : Archivo Asobancaria fue generado correctamente"; objL.pTipoArchivo = TipoProcesoXCuenta; objL.pTipoProceso = "GEN"; new LogsLN().insertar(objL); return("Archivo Asobancaria fue generado correctamente"); } catch (Exception ex) { if (CorreosControl.Count > 0) { Correo.enviarNotificacionesError(NombreCuenta, (String[])CorreosControl.ToArray(typeof(String)), Remitente, ex.Message, tipoArchivo); } objL.pFecha = Convert.ToString(DateTime.Now.ToString("yyyy-MM-dd") + " " + DateTime.Now.ToString("H:mm:ss")); objL.pUsuario = Usuario; objL.pDetalle = NombreCuenta + ", Asobancaria : " + ex.Message; objL.pTipoArchivo = TipoProcesoXCuenta; objL.pTipoProceso = "GEN"; new LogsLN().insertar(objL); return(ex.Message); } }
public String trasladarArchivos() { try { Ftp objF = new Ftp(); FtpLN objFtpLN = new FtpLN(); List <Ftp> listaF = objFtpLN.consultar(objF); if (listaF.Count > 0) { foreach (Ftp objFtp in listaF) { int valor = 0; string FechaUltimaCopia = ""; try { ArrayList archivos = new ArrayList(); FechaUltimaCopia = objFtp.pFechaUltimaCopia; archivos = ConectorFTP.listarArchivosIn(objFtp.pUrlFtp, Convert.ToDateTime(objFtp.pFechaUltimoIngreso), Convert.ToDateTime(objFtp.pFechaUltimaCopia), objFtp.pFormato, objFtp.pPrefijo, objFtp.pRutaDestino); archivos.Sort(); List <DateTime> results = archivos.Cast <DateTime>().ToList(); objFtp.pFechaUltimoIngreso = Convert.ToString(DateTime.Now); //Ordena Descendentemente la ultima fecha del archivo if (results.Count > 0) { results = results.OrderByDescending(q => q).ToList(); objFtp.pFechaUltimaCopia = Convert.ToString(results[0]); } else { objFtp.pFechaUltimaCopia = FechaUltimaCopia; } valor = objFtpLN.actualizarFechaUltimaCopia(objFtp); if (valor == 0) { throw new Exception("Ocurrio un error a actualizar fecha de ultimo ingreso. Reemplazela para evitar archivos duplicados"); } } catch (Exception ex) { ConexionError = ConexionError + "Error en ftp : " + objFtp.pUrlFtp + " (" + ex.Message + "),"; } } if (String.IsNullOrEmpty(ConexionError)) { return("Se han movido todos los archivos"); } else { return("Se han movido algunos archivos y ocurrio un " + ConexionError); } } else { return("No se encontraron registros de configuración "); } } catch (Exception ex) { return(ex.Message); } }