Ejemplo n.º 1
0
        private void EscreverArquivoDeLog(List <string> excecoes, IntegracaoInfos info)
        {
            string filePhisical = Configurations.DiretorioRaiz();
            string fileName     = ".txt";
            var    date         = DateTime.Now.ToString("yyyy-MM-dd_HH-mm", CultureInfo.InvariantCulture);

            var path = filePhisical + "\\" + "LOGS" + "\\" + "Log-SCIPP -" + info.DiretorioInspecaoLocal + "-" + date + fileName;

            using (StreamWriter file =
                       new StreamWriter(path))
            {
                foreach (string line in excecoes)
                {
                    file.WriteLine(line);
                }
                file.Close();
                if (info.TipoIntegracao == 1)
                {
                    _ftp.UploadFile(path, info);
                }
                else
                {
                    _sftp.UploadFile(path, info);
                }
            }
        }
Ejemplo n.º 2
0
        //// They want us to delete the files that we've successfully processed. Use this.
        public bool DeleteFile(string file, string diretorioLocal, IntegracaoInfos sftpInfo)
        {
            bool success = true;

            try
            {
                SftpClient tmpClient;
                if (sftpInfo.Senha != "")
                {
                    tmpClient = new SftpClient(sftpInfo.HostURI, sftpInfo.Usuario, sftpInfo.Senha);
                }
                else
                {
                    var sftpModelShared = new SftpModel(sftpInfo.DiretorioInspecaoLocal, sftpInfo.HostURI, sftpInfo.Usuario,
                                                        sftpInfo.PrivateKey, sftpInfo.Senha);
                    tmpClient = new SftpClient(sftpModelShared.HostURI, sftpModelShared.Usuario, sftpModelShared.PrivateKey);
                }

                // was new SftpClient(this.HostURI, this.UserName, this.PrivateKey)
                using (SftpClient client = tmpClient)
                {
                    client.Connect();

                    client.DeleteFile(diretorioLocal + file);


                    client.Disconnect();
                }
            }
            catch
            {
                success = false;
            }
            return(success);
        }
Ejemplo n.º 3
0
 private static InspecoesGravadasModelServico VerificarFtpValido(IntegracaoInfos ftpInfos, string codigo)
 {
     if (ftpInfos != null)
     {
         return new InspecoesGravadasModelServico
                {
                    InspecoesGravadas = new List <InspecaoModelServico>(),
                    Excecao           = new ExcecaoService
                    {
                        ExisteExcecao = false,
                        Mensagem      = string.Empty
                    }
                }
     }
     ;
     return(new InspecoesGravadasModelServico
     {
         InspecoesGravadas = new List <InspecaoModelServico>(),
         Excecao = new ExcecaoService
         {
             ExisteExcecao = true,
             Mensagem = string.Format(MensagemSistema.FtpInvalido, codigo)
         }
     });
 }
Ejemplo n.º 4
0
 private void EnviarLogParaOrganismo(string fileName, IntegracaoInfos sftp)
 {
     if (sftp.TipoIntegracao != 1)
     {
         _sftp.CreateDirectory(sftp);
         _sftp.UploadFile(fileName, sftp);
     }
 }
Ejemplo n.º 5
0
 private bool DownloadArquivo(string file, string diretorioLocal, IntegracaoInfos integracao)
 {
     if (integracao.TipoIntegracao != 1)
     {
         return(_sftp.DownloadArquivo(file, diretorioLocal + file, integracao));
     }
     return(_ftp.DownloadInspecaoFtp(file, diretorioLocal, integracao));
 }
Ejemplo n.º 6
0
        private void DownloadInspecao(IntegracaoInfos ftpInfo, string diretorioLocal, string diretorioRemoto, string usuario)
        {
            var inspecao = new InspecaoCsvModel();

            try
            {
                _descompactar.ExcluirArquivoCasoExista(diretorioLocal, diretorioRemoto);
                DeletarDiretorioLocalInspecao(diretorioLocal);
                if (!DownloadArquivo(diretorioRemoto, diretorioLocal, ftpInfo))
                {
                    return;
                }
                if (!_descompactar.DescompactarArquivo(diretorioLocal, diretorioRemoto))
                {
                    return;
                }
                inspecao = _csv.ObterDadosInspecao(diretorioLocal, ftpInfo);
                if (inspecao.Excecao == null)
                {
                    if (GravarInspecaoObtidaNoArquivoCsv(inspecao, diretorioLocal))
                    {
                        if (!GravarHistoricoDownload(diretorioRemoto, usuario))
                        {
                            return;
                        }
                    }
                    ExcluirArquivoCompactadoECsv(diretorioLocal, diretorioRemoto);
                }


                ExcluirArquivoCompactadoECsv(diretorioLocal, diretorioRemoto);
                if (inspecao.Excecao != null)
                {
                    _listExcecao.Add(inspecao.Excecao.Mensagem);
                }
            }
            catch (Exception e)
            {
                if (inspecao.Excecao == null)
                {
                    var erro = new InspecoesGravadasModelServico
                    {
                        Excecao = new ExcecaoService
                        {
                            ExisteExcecao = true,
                            Mensagem      = string.Format(e.Message)
                        }
                    };

                    _listExcecao.Add(erro.Excecao.Mensagem);
                }
                else
                {
                    _listExcecao.Add(e.Message);
                }
            }
        }
Ejemplo n.º 7
0
        public string[] ObterArquivosNoDiretorioRemotoSftp(IntegracaoInfos sftp)
        {
            var tmpFiles = new List <string>();
            var porta    = Convert.ToInt32(sftp.Porta);

            try
            {
                IPAddress ips;

                ips = Dns.GetHostAddresses(sftp.HostURI.Trim()).FirstOrDefault();

                var host = ips;

                SftpClient tmpClient;


                if (!string.IsNullOrEmpty(sftp.Senha))
                {
                    tmpClient = new SftpClient(sftp.HostURI.Trim(), porta, sftp.Usuario.Trim(), sftp.Senha.Trim());
                }
                else
                {
                    var sftpModelShared = new SftpModel(sftp.DiretorioInspecaoLocal, sftp.HostURI, sftp.Usuario,
                                                        sftp.PrivateKey, sftp.Senha);
                    tmpClient = new SftpClient(sftpModelShared.HostURI, porta, sftp.Usuario, sftpModelShared.PrivateKey);
                }

                // was new SftpClient(this.HostURI, this.UserName, this.PrivateKey)
                using (SftpClient client = tmpClient)
                {
                    client.Connect();

                    // was "/out"
                    IEnumerable <SftpFile> results = client.ListDirectory("//" + sftp.DiretorioInspecao + "//");
                    foreach (var file in results)
                    {
                        if (!file.IsDirectory)
                        {
                            tmpFiles.Add(file.Name);
                        }
                    }

                    client.Disconnect();
                }
                return(tmpFiles.Count > 0 ? tmpFiles.ToArray() : new string[] { });
            }
            catch (Exception e)
            {
                throw new Exception($"Erro ao Obter Inspeções no servidor SFTP para o Organismo , Exceção :" + e.Message);
            }
        }
Ejemplo n.º 8
0
        public ActionResult Adicionar(IntegracaoInfoModel model)
        {
            //todo: corrigir retorno do codigo oia

            if (!ModelState.IsValid)
            {
                model.Mensagem = new MensagemModel {
                    ExisteExcecao = false, Mensagem = "Um erro ocorreu ao gravar a Integração."
                };
                return(RedirectToAction("Adicionar"));
            }

            var c = _servico.ObetrPorId(model.OrganismoId);

            var dominio = new IntegracaoInfos
            {
                DiretorioInspecao      = "INSPECOES",
                DiretorioInspecaoLocal = c.CodigoOIA.Trim(),
                HostURI        = model.HostURI,
                Senha          = model.Senha,
                Porta          = model.Porta,
                OrganismoId    = model.OrganismoId,
                TipoIntegracao = model.TipoIntegracao,
                Usuario        = model.Usuario
            };


            var resultado = _integracaoServico.Adicionar(dominio);

            if (resultado)
            {
                var organismos = _servico.BuscarTodos().Where(s => s.IntegracaoInfo == null).OrderBy(s => s.Id).ToList();
                organismos.Insert(0, new Organismo()
                {
                    Id        = model.OrganismoId,
                    CodigoOIA = model.DiretorioInspecaoLocal
                });
                ViewBag.Organismos = new SelectList(organismos, "Id", "CodigoOIA");
                model.Mensagem     = new MensagemModel {
                    ExisteExcecao = resultado, Mensagem = "Integração gravada com sucesso."
                };
                return(View(model));
            }
            model.Mensagem = new MensagemModel {
                ExisteExcecao = resultado, Mensagem = "Um erro ocorreu ao gravar a Intergração."
            };
            return(View(model));
        }
Ejemplo n.º 9
0
        public ActionResult Editar(IntegracaoInfoModel i)
        {
            if (i.Id <= 0)
            {
                return(HttpNotFound());
            }



            var dominio = new IntegracaoInfos
            {
                Id = i.Id,
                DiretorioInspecao = i.DiretorioInspecao,
                HostURI           = i.HostURI,
                Porta             = i.Porta,
                TipoIntegracao    = i.TipoIntegracao,
                Usuario           = i.Usuario,
                Senha             = i.Senha,
            };
            var c = _servico.ObetrPorId(i.OrganismoId);

            dominio.DiretorioInspecaoLocal = c.CodigoOIA.Trim();
            dominio.OrganismoId            = c.Id;

            var resultado = _integracaoServico.Atualizar(dominio);

            if (resultado)
            {
                var organismos = _servico.BuscarTodos().Where(s => s.IntegracaoInfo == null).OrderBy(s => s.Id).ToList();
                organismos.Insert(0, new Organismo()
                {
                    Id        = dominio.OrganismoId,
                    CodigoOIA = dominio.DiretorioInspecaoLocal
                });
                ViewBag.Organismos = new SelectList(organismos, "Id", "CodigoOIA");
                i.Mensagem         = new MensagemModel {
                    ExisteExcecao = resultado, Mensagem = "A integração foi alterada com sucesso."
                };
                return(View(i));
            }

            i.Mensagem = new MensagemModel {
                ExisteExcecao = resultado, Mensagem = "Houve um erro durante a alteração."
            };
            return(View(i));
        }
Ejemplo n.º 10
0
 public InspecaoCsvModel ObterDadosInspecao(string diretorio, IntegracaoInfos ftpInfo)
 {
     if (ExisteArquivoCsv(diretorio))
     {
         var inspecaoLine  = LerLinhasCsv(diretorio);
         var inspecaoModel = ObterInspecao(inspecaoLine, ftpInfo);
         return(inspecaoModel ?? new InspecaoCsvModel());
     }
     return(new InspecaoCsvModel
     {
         Excecao = new ExcecaoCsv
         {
             ExisteExcecao = true,
             Mensagem = string.Format(MensagemNegocio.ArquivoCSVNaoEncontrado, diretorio, ftpInfo.DiretorioInspecaoLocal)
         }
     });
 }
Ejemplo n.º 11
0
 private void RemoverInspecaoComMaisDe30Dias(List <string> lista, IntegracaoInfos ftpInfo)
 {
     try
     {
         foreach (var item in lista)
         {
             if (!_ftp.ExcluirInspecao(ftpInfo, item))
             {
                 continue;
             }
             AddRegistrosExclusao(ftpInfo.Organismo.CodigoOIA, item);
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Ejemplo n.º 12
0
        public void CreateDirectory(IntegracaoInfos sftpInfo)
        {
            int Port = 22;


            SftpClient tmpClient;

            if (!string.IsNullOrEmpty(sftpInfo.Senha))
            {
                tmpClient = new SftpClient(sftpInfo.HostURI, Port, sftpInfo.Usuario, sftpInfo.Senha);
            }
            else
            {
                var sftpModelShared = new SftpModel(sftpInfo.DiretorioInspecaoLocal, sftpInfo.HostURI,
                                                    sftpInfo.Usuario,
                                                    sftpInfo.PrivateKey, sftpInfo.Senha);
                tmpClient = new SftpClient(sftpModelShared.HostURI, Port, sftpModelShared.Usuario,
                                           sftpModelShared.PrivateKey);
            }

            string current = "//" + sftpInfo.DiretorioInspecao + "//" + "LOG" + "//";


            using (SftpClient client = tmpClient)
            {
                try
                {
                    client.Connect();

                    var d = client.Exists(current);
                    if (!d)
                    {
                        client.CreateDirectory(current);
                    }
                }

                catch
                {
                    throw new Exception(string.Format("Erro ao criar pasta LOG para o organismo {0}", sftpInfo.DiretorioInspecaoLocal));
                }

                client.Disconnect();
            }
        }
Ejemplo n.º 13
0
        public ActionResult Excluir(int id)
        {
            var user = HttpContext.Session["Usuario"];

            if (user == null)
            {
                return(RedirectToAction("Login", "Login"));
            }

            var x = _integracaoServico.ObterPorId(id);
            var o = new IntegracaoInfos
            {
                Id = x.Id,
                DiretorioInspecaoLocal = x.DiretorioInspecaoLocal,
                HostURI = x.HostURI
            };

            return(View(o));
        }
Ejemplo n.º 14
0
        public bool UploadFile(string localFilePath, IntegracaoInfos sftp)

        {
            bool success = true;

            try
            {
                var        port = Convert.ToInt32(sftp.Porta);
                SftpClient tmpClient;
                if (sftp.Senha != "")
                {
                    tmpClient = new SftpClient(sftp.HostURI.Trim(), port, sftp.Usuario.Trim(), sftp.Senha.Trim());
                }
                else
                {
                    //todo: privateKey
                    tmpClient = new SftpClient(sftp.HostURI, sftp.Usuario, sftp.PrivateKey);
                }

                // was new SftpClient(this.HostURI, this.UserName, this.PrivateKey)
                using (SftpClient client = tmpClient)
                {
                    client.Connect();
                    string current = "/" + sftp.DiretorioInspecao + "/" + "LOG" + "/";

                    using (FileStream localFile = new FileStream(localFilePath, FileMode.Open))
                    {
                        client.BufferSize = 4 * 1024;
                        client.UploadFile(localFile, current + Path.GetFileName(localFilePath), null);
                    }

                    client.Disconnect();
                }
            }
            catch
            {
                success = false;
            }
            return(success);
        }
Ejemplo n.º 15
0
        public bool Adicionar(IntegracaoInfos obj)
        {
            using (var ctx = new CippContexto())
            {
                try
                {
                    ctx.IntegracaoInfo.Add(obj);
                    var resultado = ctx.SaveChanges();

                    if (resultado <= 0)
                    {
                        return(false);
                    }

                    return(true);
                }
                catch
                {
                    throw;
                }
            }
        }
Ejemplo n.º 16
0
        public bool DownloadArquivo(string file, string diretorioLocal, IntegracaoInfos sftpInfo)
        {
            bool success = true;
            var  port    = Convert.ToInt32(sftpInfo.Porta);

            try
            {
                SftpClient tmpClient;
                if (!string.IsNullOrEmpty(sftpInfo.Senha))
                {
                    tmpClient = new SftpClient(sftpInfo.HostURI.Trim(), port, sftpInfo.Usuario.Trim(), sftpInfo.Senha.Trim());
                }
                else
                {
                    var sftpModelShared = new SftpModel(sftpInfo.DiretorioInspecaoLocal, sftpInfo.HostURI, sftpInfo.Usuario,
                                                        sftpInfo.PrivateKey, sftpInfo.Senha);
                    tmpClient = new SftpClient(sftpModelShared.HostURI, port, sftpModelShared.Usuario, sftpModelShared.PrivateKey);
                }

                // was new SftpClient(this.HostURI, this.UserName, this.PrivateKey)
                using (SftpClient client = tmpClient)
                {
                    client.Connect();

                    using (FileStream outputStream = new FileStream(diretorioLocal, FileMode.Create))
                    {
                        client.DownloadFile("/" + sftpInfo.DiretorioInspecao + "/" + file, outputStream);
                    }

                    client.Disconnect();
                }
            }
            catch (Exception e)
            {
                throw new Exception($"Erro ao fazer Download das Inspeções no servidor FTP para o Organismo, Exceção :" + e.Message);
            }
            return(success);
        }
Ejemplo n.º 17
0
        public bool Atualizar(IntegracaoInfos obj)
        {
            try
            {
                using (var context = new CippContexto())
                {
                    context.Entry(obj).State = obj.Id == 0 ? EntityState.Added : EntityState.Modified;

                    var resultado = context.SaveChanges();

                    if (resultado <= 0)
                    {
                        return(false);
                    }

                    return(true);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Ejemplo n.º 18
0
        private IList <string> ObterInspecoesComMaisDeTrintaDias(IntegracaoInfos ftpInfo)
        {
            var listaDiretoriosParaExclusaoComMais30Dias = new List <string>();

            var inspecoesDiretorios = _ftp.ObterListaDiretoriosInspecoesFtp(ftpInfo);


            if (inspecoesDiretorios.Length <= 0)
            {
                return(new List <string>());
            }

            foreach (var inspecao in inspecoesDiretorios)
            {
                var dataDiretorioRemoto = _ftp.ObterDataEntradaFtp(ftpInfo, inspecao);
                if (!TemMaisDe30Dias(dataDiretorioRemoto))
                {
                    continue;
                }
                listaDiretoriosParaExclusaoComMais30Dias.Add(inspecao);
            }

            return(listaDiretoriosParaExclusaoComMais30Dias);
        }
Ejemplo n.º 19
0
        private string[] ObterListaDiretoriosPorOrganismo(IntegracaoInfos ftpInfo)
        {
            List <string> listaDiretoriosValidos = new List <string>();

            try
            {
                //ftps ou ftp
                if (ftpInfo.TipoIntegracao == 1)
                {
                    var diretorios = _ftp.ObterListaDiretoriosInspecoesFtp(ftpInfo);
                    if (diretorios.Length > 0)
                    {
                        foreach (var item in diretorios)
                        {
                            var fileName = Path.GetFileNameWithoutExtension(item);
                            if (fileName.Length >= 4)
                            {
                                var fileExtension = Path.GetExtension(item);
                                if (fileExtension.Equals(".rar") || fileExtension.Equals(".zip"))
                                {
                                    listaDiretoriosValidos.Add(item);
                                }
                            }
                        }
                    }
                    return(listaDiretoriosValidos.ToArray());
                }

                return(_sftp.ObterArquivosNoDiretorioRemotoSftp(ftpInfo));
            }
            catch (Exception e)
            {
                _listExcecao.Add(e.Message);
                throw e;
            }
        }
Ejemplo n.º 20
0
        public bool Atualizar(IntegracaoInfos organismo)
        {
            var resultado = _repositorio.Atualizar(organismo);

            return(resultado);
        }
Ejemplo n.º 21
0
        private InspecaoCsvModel ObterInspecao(string inputLine, IntegracaoInfos ftpInfo)
        {
            try
            {
                DateTime    dDate;
                string      format;
                CultureInfo provider = CultureInfo.InvariantCulture;
                format = "yyyyMMdd";
                string inputLineWithoutExtraCommas = ReplaceDelimitersWithinQuotes(inputLine);
                _inputColumns = inputLineWithoutExtraCommas.Split(',').ToList();

                var inspecao = new InspecaoCsvModel();
                if (_inputColumns.Count == 5)
                {
                    for (var i = 0; i < _inputColumns.Count;)
                    {
                        inspecao.CodigoOia = ftpInfo.DiretorioInspecaoLocal;
                        if (!string.IsNullOrEmpty(_inputColumns[1]))
                        {
                            inspecao.CodigoCipp = _inputColumns[1];
                        }
                        else
                        {
                            return(new InspecaoCsvModel
                            {
                                Excecao = new ExcecaoCsv
                                {
                                    ExisteExcecao = true,
                                    Mensagem = string.Format(MensagemNegocio.CodidoCippNaoInformado)
                                }
                            });
                        }

                        if (!string.IsNullOrEmpty(_inputColumns[2]))
                        {
                            if (_inputColumns[2].Length > 6)
                            {
                                inspecao.PlacaLicenca = _inputColumns[2];
                            }
                            else
                            {
                                inspecao.PlacaLicenca = _inputColumns[2].ToString();
                                return(new InspecaoCsvModel
                                {
                                    Excecao = new ExcecaoCsv
                                    {
                                        ExisteExcecao = true,
                                        Mensagem = string.Format(MensagemNegocio.PlacaNaoExiste, inspecao.PlacaLicenca, inspecao.CodigoCipp, inspecao.CodigoOia)
                                    }
                                });
                            }
                        }
                        else
                        {
                            return(new InspecaoCsvModel
                            {
                                Excecao = new ExcecaoCsv
                                {
                                    ExisteExcecao = true,
                                    Mensagem = string.Format(MensagemNegocio.PlacaNaoInformada, inspecao.CodigoCipp, inspecao.CodigoOia)
                                }
                            });
                        }


                        if (!string.IsNullOrEmpty(_inputColumns[3]))
                        {
                            inspecao.NumeroEquipamento = _inputColumns[3];
                        }
                        else
                        {
                            return(new InspecaoCsvModel
                            {
                                Excecao = new ExcecaoCsv
                                {
                                    ExisteExcecao = true,
                                    Mensagem = string.Format(MensagemNegocio.NumeroDoEquipamentoNaoInformado, inspecao.CodigoCipp, ftpInfo.DiretorioInspecaoLocal)
                                }
                            });
                        }

                        if (!string.IsNullOrEmpty(_inputColumns[4]))
                        {
                            try
                            {
                                if (DateTime.TryParseExact(_inputColumns[4], "ddMMyyyy", provider, DateTimeStyles.None,
                                                           out dDate) || DateTime.TryParseExact(_inputColumns[4], format, provider, DateTimeStyles.None, out dDate))
                                {
                                    inspecao.DataInspecao = dDate;
                                }
                                else
                                {
                                    DateTime dt = DateTime.Parse(_inputColumns[4]);
                                }
                            }
                            catch
                            {
                                return(new InspecaoCsvModel
                                {
                                    Excecao = new ExcecaoCsv
                                    {
                                        ExisteExcecao = true,
                                        Mensagem = string.Format(MensagemNegocio.DataComFormatoInvalido, inspecao.CodigoCipp, inspecao.CodigoOia)
                                    }
                                });
                            }
                        }
                        else
                        {
                            return(new InspecaoCsvModel
                            {
                                Excecao = new ExcecaoCsv
                                {
                                    ExisteExcecao = true,
                                    Mensagem = string.Format(MensagemNegocio.DataNaoInformada, inspecao.CodigoCipp)
                                }
                            });
                        }

                        break;
                    }

                    return(inspecao);
                }

                return(new InspecaoCsvModel
                {
                    Excecao = new ExcecaoCsv
                    {
                        ExisteExcecao = true,
                        Mensagem = string.Format(MensagemNegocio.ArquivoCSVForaDeFormatacao, ftpInfo.DiretorioInspecaoLocal)
                    }
                });
            }
            catch (ExcecaoCsv e)
            {
                throw new Exception($"Erro ao obter dados da Inspeção. Exceção {e.Mensagem}");
            }
        }
Ejemplo n.º 22
0
        public ActionResult Excluir(IntegracaoInfos model)
        {
            var x = _integracaoServico.Desativar(model.Id);

            return(View());
        }
Ejemplo n.º 23
0
        private void DownloadInspecaoAutomatica(IntegracaoInfos ftpInfo, IEnumerable <string> diretorios)
        {
            var diretorioLocal    = string.Empty;
            var diretoriosValidos = new List <string>();
            var inspecao          = new InspecaoCsvModel();

            if (diretorios != null)
            {
                diretoriosValidos = ObterSomenteDiretoriosValidos(diretorios);
            }
            foreach (var item in diretoriosValidos)
            {
                try
                {
                    diretorioLocal = ObterDiretorioLocal(ftpInfo.DiretorioInspecaoLocal, item);

                    _descompactar.ExcluirArquivoCasoExista(diretorioLocal, item);
                    DeletarDiretorioLocalInspecao(diretorioLocal);
                    if (!DownloadArquivo(item, diretorioLocal, ftpInfo))
                    {
                        continue;
                    }
                    if (!_descompactar.DescompactarArquivo(diretorioLocal, item))
                    {
                        continue;
                    }
                    inspecao = _csv.ObterDadosInspecao(diretorioLocal, ftpInfo);
                    if (inspecao.Excecao == null)
                    {
                        if (GravarInspecaoObtidaNoArquivoCsv(inspecao, diretorioLocal))
                        {
                            if (!GravarHistoricoDownload(item, "Rotina Automática"))
                            {
                                continue;
                            }
                        }
                    }

                    ExcluirArquivoCompactadoECsv(diretorioLocal, item);
                    if (inspecao.Excecao != null)
                    {
                        _listLog.Add(inspecao.Excecao.Mensagem);
                        _listExcecao.Add(inspecao.Excecao.Mensagem);
                    }
                }
                catch (Exception e)
                {
                    if (inspecao.Excecao == null)
                    {
                        var erro = new InspecoesGravadasModelServico
                        {
                            Excecao = new ExcecaoService
                            {
                                ExisteExcecao = true,
                                Mensagem      = string.Format(e.Message)
                            }
                        };
                        _listLog.Add(inspecao.Excecao.Mensagem);
                        _listExcecao.Add(erro.Excecao.Mensagem);
                    }
                    else
                    {
                        _listLog.Add(e.Message);
                        _listExcecao.Add(e.Message);
                    }
                }
            }

            if (_listLog.Any())
            {
                try
                {
                    if (ftpInfo.TipoIntegracao == 1)
                    {
                        _ftp.CreateDirectory(ftpInfo);
                    }
                    else
                    {
                        _sftp.CreateDirectory(ftpInfo);
                    }

                    EscreverArquivoDeLog(_listLog, ftpInfo);
                    _listLog.Clear();
                }
                catch (Exception e)
                {
                    _listExcecao.Add(e.Message);
                    _listLog.Clear();
                }
            }
        }