Exemple #1
0
        private static void GetFiles(Licitacao licitacao)
        {
            try
            {
                if (!Directory.Exists(PathEditais))
                {
                    Directory.CreateDirectory(PathEditais);
                }

                web.FindElement(By.Id("showEdital")).Click();
                Thread.Sleep(3000);

                var html = web.PageSource;

                var fileRx = new Regex(Constants.CRJ_FILELINK_REGEX);

                if (fileRx.IsMatch(html))
                {
                    var matches   = fileRx.Matches(html);
                    var fileLinks = HandleMatchedContent(matches);

                    foreach (var link in fileLinks)
                    {
                        var fileName = link.Split('/')[9];
                        WebHandle.DownloadFileWebRequest(link, PathEditais, fileName);

                        if (LicitacaoArquivoController.CreateLicitacaoArquivo(Name, licitacao, PathEditais, fileName, web.Manage().Cookies.AllCookies))
                        {
                            RService.Log("(GetFiles) " + Name + ": Arquivo " + fileName + " inserido com sucesso para licitação " + licitacao.IdLicitacaoFonte + " at {0}", LogPath);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (GetFiles) " + Name + ": " + e.Message + " / " + e.StackTrace + " at {0}", LogPath);
            }
        }
Exemple #2
0
        /*Criando licitação arquivo e enviando para pasta FTP*/
        public static bool CreateLicitacaoArquivo(string nomeRobo, Licitacao licitacao, string edital, string pathEditais, string nameFile, ReadOnlyCollection <OpenQA.Selenium.Cookie> AllCookies)
        {
            try
            {
                if (!Directory.Exists(pathEditais))
                {
                    Directory.CreateDirectory(pathEditais);
                }

                string fileName = FileHandle.GetATemporaryFileName() + WebHandle.GetExtensionFile(nameFile);

                RService.Log("(CreateLicitacaoArquivo) " + nomeRobo + ": Fazendo o download do arquivo... " + fileName + " at {0}", Path.GetTempPath() + nomeRobo + ".txt");

                if (WebHandle.DownloadFileWebRequest(AllCookies, edital, pathEditais + fileName) && File.Exists(pathEditais + fileName))
                {
                    #region FTP
                    //RService.Log("(CreateLicitacaoArquivo) " + nomeRobo + ": Enviando arquivo por FTP... " + fileName + " at {0}", Path.GetTempPath() + nomeRobo + ".txt");

                    //int fileCount = Directory.GetFiles(pathEditais).Length;
                    //int wait = 0;

                    //while (fileCount == 0 && wait < 6)
                    //{
                    //Thread.Sleep(5000);
                    //wait++;
                    //}

                    //if (FTP.SendFileFtp(new FTP(pathEditais, fileName, FTP.Adrss, FTP.Pwd, FTP.UName), nomeRobo))
                    //{
                    //LicitacaoArquivo licitacaoArq = new LicitacaoArquivo();
                    //licitacaoArq.NomeArquivo = fileName;
                    //licitacaoArq.NomeArquivoOriginal = nomeRobo + DateTime.Now.ToString("yyyyMMddHHmmss");
                    //licitacaoArq.NomeArquivoFonte = nameFile;
                    //licitacaoArq.Status = 0;
                    //licitacaoArq.IdLicitacao = licitacao.Id;

                    //LicitacaoArquivoRepository repoArq = new LicitacaoArquivoRepository();
                    //repoArq.Insert(licitacaoArq);

                    //if (File.Exists(pathEditais + fileName))
                    //{
                    //File.Delete(pathEditais + fileName);
                    //}

                    //RService.Log("(CreateLicitacaoArquivo) " + nomeRobo + ": Arquivo " + fileName + " enviado com sucesso at {0}", Path.GetTempPath() + nomeRobo + ".txt");

                    //return true;
                    //}
                    //else
                    //{
                    //RService.Log("Exception (CreateLicitacaoArquivo) " + nomeRobo + ": Erro ao enviar o arquivo por FTP (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + nomeRobo + ".txt");
                    //}
                    #endregion

                    #region AWS
                    RService.Log("(CreateLicitacaoArquivo) " + nomeRobo + ": Enviando o arquivo para Amazon S3... " + fileName + " at {0}", Path.GetTempPath() + nomeRobo + ".txt");

                    if (AWS.SendObject(licitacao, pathEditais, fileName))
                    {
                        LicitacaoArquivo licitacaoArq = new LicitacaoArquivo();
                        licitacaoArq.NomeArquivo         = fileName;
                        licitacaoArq.NomeArquivoOriginal = nomeRobo + DateTime.Now.ToString("yyyyMMddHHmmss");
                        licitacaoArq.NomeArquivoFonte    = nameFile;
                        licitacaoArq.Status      = 0;
                        licitacaoArq.IdLicitacao = licitacao.Id;

                        LicitacaoArquivoRepository repoArq = new LicitacaoArquivoRepository();
                        repoArq.Insert(licitacaoArq);

                        if (File.Exists(pathEditais + fileName))
                        {
                            File.Delete(pathEditais + fileName);
                        }

                        RService.Log("(CreateLicitacaoArquivo) " + nomeRobo + ": Arquivo " + fileName + " enviado com sucesso para Amazon S3" + " at {0}", Path.GetTempPath() + nomeRobo + ".txt");

                        return(true);
                    }
                    else
                    {
                        RService.Log("Exception (CreateLicitacaoArquivo) " + nomeRobo + ": Erro ao enviar o arquivo para Amazon (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + nomeRobo + ".txt");
                    }

                    #endregion
                }
                else
                {
                    RService.Log("Exception (CreateLicitacaoArquivo) " + nomeRobo + ": Erro ao fazer o download do arquivo, no link: " + edital + " at {0}", Path.GetTempPath() + nomeRobo + ".txt");
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (CreateLicitacaoArquivo) " + nomeRobo + ": " + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " / " + e.InnerException + " at {0}", Path.GetTempPath() + nomeRobo + ".txt");
            }
            return(false);
        }