Esempio n. 1
0
        List <string> GetListaArquivosSFTP(TDEPARA pDePara, Enum.EnumTipoCredencial pTipoCredencial)
        {
            string        PastaListarAquivos;
            List <string> liArquivos = new List <string>();


            return(liArquivos);
        }
Esempio n. 2
0
        List<string> GetListaArquivosFTP(TDEPARA pDePara, Enum.EnumTipoCredencial pTipoCredencial)
        {
            string PastaListarAquivos;
            List<string> liArquivos = new List<string>();

            try
            {
                //TCREDENCIALFTP credencialFtp;
                if (pTipoCredencial == EnumTipoCredencial.De)
                    PastaListarAquivos = pDePara.ATXT_SERVIDOR_ORIGEM + pDePara.ANOM_ORIGEM;
                else
                    PastaListarAquivos = pDePara.ATXT_SERVIDOR_DESTINO + pDePara.ANOM_DESTINO;

                Log.RegistrarLogInformacao("Procurando arquivos na pasta " + PastaListarAquivos);
                //Cria comunicação com o servidor
                //Definir o diretório a ser listado
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(PastaListarAquivos);
                //Define que a ação vai ser de listar diretório
                request.Method = WebRequestMethods.Ftp.ListDirectory;

                //Credenciais para o login (usuario, senha)
                if (pTipoCredencial == EnumTipoCredencial.De)
                    request.Credentials = new NetworkCredential(pDePara.ATXT_USUARIO_ORIGEM, pDePara.ATXT_SENHA_ORIGEM);
                else
                    request.Credentials = new NetworkCredential(pDePara.ATXT_USUARIO_DESTINO, pDePara.ATXT_SENHA_DESTINO);

                //modo passivo
                request.UsePassive = true;
                //dados binarios
                request.UseBinary = true;
                //setar o KeepAlive para true
                request.KeepAlive = true;
                //Habilitando SSL
                request.EnableSsl = true;
                //Passando por fora do proxy
                request.Proxy = null;

                ServicePointManager.ServerCertificateValidationCallback += (o, c, ch, er) => true;

                using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
                {
                    Log.RegistrarLogInformacao("Conexão realizada, obtendo arquivos");
                    //Criando a Stream para pegar o retorno
                    Stream responseStream = response.GetResponseStream();
                    using (StreamReader reader = new StreamReader(responseStream))
                    {
                        //Adicionar os arquivos na lista
                        liArquivos = reader.ReadToEnd().Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToList<string>();
                    }
                }

                Log.RegistrarLogInformacao("Lista de arquivos carregada com sucesso");
            }
            catch (Exception ex)
            {
                string credencial = "";
                switch (pTipoCredencial)
                {
                    case EnumTipoCredencial.De:
                        credencial = pDePara.ATXT_SERVIDOR_ORIGEM + pDePara.ANOM_ORIGEM + " - " + pDePara.ATXT_USUARIO_ORIGEM;
                        break;
                    case EnumTipoCredencial.Para:
                        credencial = pDePara.ATXT_SERVIDOR_DESTINO + pDePara.ANOM_DESTINO + " - " + pDePara.ATXT_USUARIO_DESTINO;
                        break;
                }
                Log.RegistrarLogErro("Ao realizar o carregar lista de arquivos com a credencial " + credencial);
                Log.RegistrarLogErro("Mensagem de erro: " + ex.ToString());

            }

            return liArquivos;
        }