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>
        /// Almacena o actualiza la configuracion de la conexion con el ftp
        /// <para>0=Valores ingresados.</para>
        /// <para>1=Valores no ingresados.</para>
        /// <para>2=Valores no validos</para>
        /// <para>3=Rango no ingresado</para>
        /// </summary>
        public int Almacenar()
        {
            //Valida que los campos tenga valores y el formato correcto
            if (Validar())
            {
                //Crea un nuevo objeto de configuracion de ftp
                ConfigFTP configFtp = new ConfigFTP();

                configFtp.Servidor           = udsTxtServidor.Value;
                configFtp.RepoComp           = udsTxtComp.Value;
                configFtp.RepoSob            = udsTxtSob.Value;
                configFtp.Usuario            = udsTxtUsuario.Value;
                configFtp.RepoBandejaEntrada = udsTxtBan.Value;
                configFtp.Clave                           = udsTxtClave.Value;
                configFtp.RepoResp                        = udsTxtResp.Value;
                configFtp.RepoRepDi                       = udsTxtRepDi.Value;
                configFtp.RepoWebServiceEnvio             = udsTxtRepWsE.Value;
                configFtp.RepoWebServiceConsulta          = udsTxtRepWsC.Value;
                configFtp.RepoContingenciaSobres          = udsTxtRepConSob.Value;
                configFtp.RepoContingenciaComprobantes    = udsTxtRepConCom.Value;
                configFtp.RepoContingenciaReportesDiarios = udsTxtRepConReDi.Value;
                configFtp.RepoCFEs                        = udsTxtRepCfe.Value;
                configFtp.RepoCertificadosAnulados        = udsTxtRepCerAnu.Value;
                configFtp.RepoContingenciaSobreDgi        = udsTxtRepConSobDgi.Value;
                //udsTxtRutDgi.Value = configFtp.RutDgi;
                configFtp.FileDelete = udschkFileDelete.Value;

                //Crea una nueva instanacia al mantenimiento de configuracion de FTP
                ManteUdoFTP manteUdoFtp = new ManteUdoFTP();

                //Valida que la configuracion ya exista. Si existe acutializa los datos, si no existe los almacena
                if (manteUdoFtp.ExisteConfiguracion())
                {
                    //Actualizar los datos
                    if (manteUdoFtp.Actualizar(configFtp))
                    {
                        return(0);//Valores ingresados
                    }
                }
                else
                {
                    //Almacenar los datos
                    if (manteUdoFtp.Almacenar(configFtp))
                    {
                        return(0);//Valores ingresados
                    }
                }
            }
            else
            {
                return(2); //Valores no validos
            }

            return(1); //Valores no ingresados
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Obtiene las direcciones web de los web services de la DGI
        /// </summary>
        public void ObtenerUrlWebService()
        {
            ManteUdoFTP manteUdoFtp = new ManteUdoFTP();

            ConfigFTP configFtp = manteUdoFtp.ConsultarURLWebService();

            if (configFtp != null)
            {
                URL_ENVIO     = configFtp.RepoWebServiceEnvio;
                URL_CONSULTAS = configFtp.RepoWebServiceConsulta;
            }
        }
Ejemplo n.º 4
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.º 5
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.º 6
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);
        }