Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }