Ejemplo n.º 1
0
        /// <summary>
        /// Elimina archivos del ftp
        /// tipoRuta:
        ///            0 = Sobres /
        ///            1 = Comprobantes /
        ///            2 = Bandeja Entrada /
        ///            3 = Respuestas /
        ///            4 = Reporte Diario /
        ///            5 = ContingenciaSobres /
        ///            6 = ContingenciaComprobantes /
        ///            7 = ContingenciaReportesDiarios /
        ///            8 = CFEs /
        ///            9 = CertificadosAnulados /
        ///            10 = Contingencia Sobres Dgi
        /// </summary>
        /// <param name="tipoRuta"></param>
        public void EliminarFTP(int tipoRuta, string nombreArchivo)
        {
            string      servidorFTP = "", usuarioFTP = "", claveFTP = "", rutaFTP = "";
            ManteUdoFTP udoFTP = new ManteUdoFTP();

            try
            {
                ConfigFTP config = udoFTP.Consultar();

                if (config != null)
                {
                    servidorFTP = config.Servidor;
                    usuarioFTP  = config.Usuario;
                    claveFTP    = config.Clave;

                    //Se valida el tipo de extension(Se manejan rutas distintas para xml y pdf)
                    rutaFTP = ObtenerTipoRuta(tipoRuta, config);

                    rutaFTP = Mensaje.dirFtp + servidorFTP + rutaFTP;

                    // Get the object used to communicate with the server.
                    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(rutaFTP + nombreArchivo);
                    request.Method = WebRequestMethods.Ftp.DeleteFile;

                    // This example assumes the FTP site uses anonymous logon.
                    request.Credentials = new NetworkCredential(usuarioFTP, claveFTP);

                    FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                }
            }
            catch (Exception)
            {
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Consulta los datos de la configuracion
        /// </summary>
        private void Consultar()
        {
            //Crea una nueva instanacia al mantenimiento de configuracion de FTP
            ManteUdoFTP manteUdoFtp = new ManteUdoFTP();

            //Obtiene un nuevo objeto configuracion FTP
            ConfigFTP configFtp = manteUdoFtp.Consultar();

            //Validar que se haya obtenido un registro
            if (configFtp != null)
            {
                //Cargar los data sourcers
                udsTxtServidor.Value     = configFtp.Servidor;
                udsTxtComp.Value         = configFtp.RepoComp;
                udsTxtSob.Value          = configFtp.RepoSob;
                udsTxtBan.Value          = configFtp.RepoBandejaEntrada;
                udsTxtUsuario.Value      = configFtp.Usuario;
                udsTxtClave.Value        = configFtp.Clave;
                udsTxtResp.Value         = configFtp.RepoResp;
                udsTxtRepDi.Value        = configFtp.RepoRepDi;
                udsTxtRepWsE.Value       = configFtp.RepoWebServiceEnvio;
                udsTxtRepWsC.Value       = configFtp.RepoWebServiceConsulta;
                udsTxtRepConSob.Value    = configFtp.RepoContingenciaSobres;
                udsTxtRepConCom.Value    = configFtp.RepoContingenciaComprobantes;
                udsTxtRepConReDi.Value   = configFtp.RepoContingenciaReportesDiarios;
                udsTxtRepCfe.Value       = configFtp.RepoCFEs;
                udsTxtRepCerAnu.Value    = configFtp.RepoCertificadosAnulados;
                udsTxtRepConSobDgi.Value = configFtp.RepoContingenciaSobreDgi;
                udsTxtRutDgi.Value       = configFtp.RutDgi;
                udschkFileDelete.Value   = configFtp.FileDelete;
            }
            else
            {
                if (ManteUdoFTP.errorManteFTP)
                {
                    SAPbouiCOM.Framework.Application.SBO_Application.MessageBox(Mensaje.errTablaConfigFtp);
                    ManteUdoFTP.errorManteFTP = false;
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Metodo para cargar archivos en un servidor FTP
        /// tipoRuta:
        ///            0 = Sobres /
        ///            1 = Comprobantes /
        ///            2 = Bandeja Entrada /
        ///            3 = Respuestas /
        ///            4 = Reporte Diario /
        ///            5 = ContingenciaSobres /
        ///            6 = ContingenciaComprobantes /
        ///            7 = ContingenciaReportesDiarios /
        ///            8 = CFEs /
        ///            9 = CertificadosAnulados/
        ///            10 = ContingenciaSobresDgi
        /// </summary>
        /// <param name="extension"></param>
        /// <returns></returns>
        public bool CargarArchivos(string nombreArchivo, string rutaArchivo, int tipoRuta)
        {
            string servidorFTP = "", usuarioFTP = "", claveFTP = "", rutaFTP = "";
            bool   resultado = false;

            ManteUdoFTP udoFTP = new ManteUdoFTP();

            ConfigFTP config = udoFTP.Consultar();

            if (config != null)
            {
                servidorFTP = config.Servidor;
                usuarioFTP  = config.Usuario;
                claveFTP    = config.Clave;

                rutaFTP = ObtenerTipoRuta(tipoRuta, config);
                Boolean BorroFile;

                //Valida que la ruta no este vacia
                if (!rutaFTP.Equals(""))
                {
                    try
                    {
                        rutaFTP = Mensaje.dirFtp + servidorFTP + rutaFTP + nombreArchivo;

                        //Se conecta al servidor ftp
                        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(rutaFTP);

                        //Se define el metodo a ejecutar = cargaArchivos
                        request.Method = WebRequestMethods.Ftp.UploadFile;
                        //Se inicia sesion en el servidor
                        request.Credentials = new NetworkCredential(usuarioFTP, claveFTP);

                        rutaLocal = rutaArchivo;
                        //Se obtiene el contenido del archivo
                        byte[] contenido = File.ReadAllBytes(rutaLocal);

                        request.ContentLength = contenido.Length;

                        //Se escribe el contenido en un stream y es enviado al servidor ftp
                        Stream requestStream = request.GetRequestStream();
                        requestStream.Write(contenido, 0, contenido.Length);
                        requestStream.Close();

                        //Se obtiene el formulario activo para mantener la conexion con DIServer
                        Form activo = SAPbouiCOM.Framework.Application.SBO_Application.Forms.ActiveForm;
                        //Se libera el objeto de memoria
                        System.Runtime.InteropServices.Marshal.ReleaseComObject(activo);
                        GC.Collect();

                        FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                        Console.WriteLine(response.StatusDescription);
                        response.Close();


                        BorroFile = BorroFiles();

                        if (BorroFile != true)
                        {
                            //Se borra el archivo subido
                            File.Delete(rutaLocal);
                        }

                        resultado = true;
                    }
                    catch (Exception)
                    {
                    }
                }
            }
            return(resultado);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Metodo para descargar archivos del servidor ftp
        /// tipoRuta:
        ///            0 = Sobres /
        ///            1 = Comprobantes /
        ///            2 = Bandeja Entrada /
        ///            3 = Respuestas /
        ///            4 = Reporte Diario /
        ///            5 = ContingenciaSobres /
        ///            6 = ContingenciaComprobantes /
        ///            7 = ContingenciaReportesDiarios /
        ///            8 = CFEs /
        ///            9 = CertificadosAnulados /
        ///            10 = Contingencia Sobres Dgi
        /// </summary>
        /// <param name="rutaFTP"></param>
        /// <param name="nombreArchivo"></param>
        /// <param name="pRutaLocal"></param>
        /// <returns></returns>
        public bool descargarArchivos(string nombreArchivo, string pRutaLocal, int tipoRuta)
        {
            string servidorFTP = "", usuarioFTP = "", claveFTP = "", rutaFTP = "";
            bool   resultado = false;

            ManteUdoFTP udoFTP = new ManteUdoFTP();

            ConfigFTP config = udoFTP.Consultar();

            if (config != null)
            {
                servidorFTP = config.Servidor;
                usuarioFTP  = config.Usuario;
                claveFTP    = config.Clave;

                //Se valida el tipo de extension(Se manejan rutas distintas para xml y pdf)
                rutaFTP = ObtenerTipoRuta(tipoRuta, config);

                //Valida que la ruta no este vacia
                if (!rutaFTP.Equals(""))
                {
                    try
                    {
                        rutaFTP = Mensaje.dirFtp + servidorFTP + rutaFTP + nombreArchivo;
                        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(rutaFTP);

                        //Se define el metodo a ejecutar = cargaArchivos
                        request.Method = WebRequestMethods.Ftp.DownloadFile;
                        ////Se inicia sesion en el servidor
                        request.Credentials = new NetworkCredential(usuarioFTP, claveFTP);
                        request.UseBinary   = true;
                        ////request.UsePassive = false;

                        FtpWebResponse response = (FtpWebResponse)request.GetResponse();

                        ////Se descarga el archivo
                        Stream     responseStream = response.GetResponseStream();
                        FileStream fileStream     = new FileStream(pRutaLocal + nombreArchivo, FileMode.Create);


                        byte[] buffer = new byte[2048];
                        int    count  = responseStream.Read(buffer, 0, buffer.Length);

                        while (count > 0)
                        {
                            fileStream.Write(buffer, 0, count);
                            count = responseStream.Read(buffer, 0, buffer.Length);
                        }

                        fileStream.Close();
                        response.Close();

                        resultado = true;
                    }
                    catch (Exception)
                    {
                        //SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("E/DEsc/FTP: " + ex.ToString());
                    }
                }
            }

            return(resultado);
        }