Example #1
0
        /*Baixa os arquivos de edital*/
        private static void DownloadEditais(List <string> editais, Licitacao licitacao, MatchCollection linkForm)
        {
            try
            {
                RService.Log("(DownloadEditais) " + Name + ": Consultando arquivos de edital, licitação... " + licitacao.IdLicitacaoFonte + " at {0}", Path.GetTempPath() + Name + ".txt");

                if (!Directory.Exists(PathEditais))
                {
                    Directory.CreateDirectory(PathEditais);
                }

                for (int i = 0; i < editais.Count; i++)
                {
                    //Busca os arquivos da licitação
                    LicitacaoArquivoRepository repoArq         = new LicitacaoArquivoRepository();
                    List <LicitacaoArquivo>    arquivosAntigos = repoArq.FindByLicitacao(licitacao.Id);

                    var  edital  = editais[i];
                    bool isExist = false;

                    string nameFile = Regex.Replace(edital.Split('/')[edital.Split('/').Length - 1],
                                                    string.Format("[{0}]", Regex.Escape(
                                                                      new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars()))), "");

                    while (nameFile.Contains("%1A"))
                    {
                        nameFile = Regex.Replace(nameFile, "%1A", "_");
                    }

                    foreach (var arquivoAntigo in arquivosAntigos)
                    {
                        /*Verifica se o arquivo já existe*/
                        if (nameFile.Equals(arquivoAntigo.NomeArquivoFonte))
                        {
                            isExist = true;
                            break;
                        }
                    }
                    if (!isExist)
                    {
                        Thread.Sleep(5000);
                        FillForm(linkForm[i].Value);
                        if (LicitacaoArquivoController.CreateLicitacaoArquivo(Name, licitacao, edital, PathEditais, nameFile, web.Manage().Cookies.AllCookies))
                        {
                            NumArquivosLicitacao++;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (DownloadEditais) " + Name + ": " + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " at {0}", Path.GetTempPath() + Name + ".txt");
            }
        }
Example #2
0
        /*Baixa os arquivos de edital*/
        private static void DownloadEditais(List <string> editais, Licitacao licitacao, MatchCollection linkForm)
        {
            try
            {
                RService.Log("(DownloadEditais) " + GetNameRobot() + ": Consultando arquivos de edital, licitação... " + licitacao.IdLicitacaoFonte + " at {0}", Path.GetTempPath() + GetNameRobot() + ".txt");

                if (!Directory.Exists(PathEditais))
                {
                    Directory.CreateDirectory(PathEditais);
                }

                for (int i = 0; i < editais.Count; i++)
                {
                    //Busca os arquivos da licitação
                    LicitacaoArquivoRepository repoArq         = new LicitacaoArquivoRepository();
                    List <LicitacaoArquivo>    arquivosAntigos = repoArq.FindByLicitacao(licitacao.Id);

                    var  edital  = editais[i];
                    bool isExist = false;

                    string nameFile = string.Format("Anexo{0}Licitacao{1}", i, licitacao.Id);

                    foreach (var arquivoAntigo in arquivosAntigos)
                    {
                        /*Verifica se o arquivo já existe*/
                        if (nameFile.Equals(arquivoAntigo.NomeArquivoFonte))
                        {
                            isExist = true;
                            break;
                        }
                    }
                    if (!isExist)
                    {
                        if (LicitacaoArquivoController.CreateLicitacaoArquivo(GetNameRobot(), licitacao, edital, PathEditais, nameFile, web.Manage().Cookies.AllCookies))
                        {
                            NumArquivosLicitacao++;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (DownloadEditais) " + GetNameRobot() + ": " + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " at {0}", Path.GetTempPath() + GetNameRobot() + ".txt");
            }
        }
Example #3
0
        private static void GetFile(Licitacao l, string fileUrl, string files, int count)
        {
            try
            {
                //Tuple<ChromeDriver, WebDriverWait> loadDriver = WebDriverChrome.LoadWebDriver(Name);
                //web = loadDriver.Item1;
                //wait = loadDriver.Item2;

                if (web != null)
                {
                    web.Quit();
                }

                var driver = ChromeDriverService.CreateDefaultService();
                driver.HideCommandPromptWindow = true;
                var op = new ChromeOptions();
                op.AddUserProfilePreference("download.default_directory", PathEdital);
                web = new ChromeDriver(driver, new ChromeOptions(), TimeSpan.FromSeconds(300));
                web.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(300);
                wait = new WebDriverWait(web, TimeSpan.FromSeconds(300));

                if (!Directory.Exists(PathEdital))
                {
                    Directory.CreateDirectory(PathEdital);
                }

                web.Navigate().GoToUrl(fileUrl);

                web.FindElement(By.Id("captcha_usuario")).SendKeys(GetScriptFillCaptcha(web, "captcha_usuario").ToLower());
                web.FindElement(By.Id("enviar")).Click();
                Thread.Sleep(15000);

                string fileName = StringHandle.GetMatches(files, @"uploads/(.*).pdf")[count].ToString().Replace("uploads/", "");

                #region AWS

                if (AWS.SendObject(l, PathEdital, fileName))
                {
                    LicitacaoArquivo licitacaoArq = new LicitacaoArquivo();
                    licitacaoArq.NomeArquivo         = fileName;
                    licitacaoArq.NomeArquivoOriginal = Name + DateTime.Now.ToString("yyyyMMddHHmmss");
                    licitacaoArq.NomeArquivoFonte    = Name;
                    licitacaoArq.Status      = 0;
                    licitacaoArq.IdLicitacao = l.Id;

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

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

                    RService.Log("(GetFiles) " + Name + ": Arquivo " + fileName + " enviado com sucesso para Amazon S3" + " at {0}", Path.GetTempPath() + Name + ".txt");
                }
                else
                {
                    RService.Log("Exception (GetFiles) " + Name + ": Erro ao enviar o arquivo para Amazon (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + Name + ".txt");
                }

                #endregion
            }
            catch (Exception e)
            {
                RService.Log("Exception (GetFile) " + Name + ": " + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " / " + e.InnerException + " at {0}", Path.GetTempPath() + Name + ".txt");
            }
            finally
            {
                if (web != null)
                {
                    web.Close();
                }
            }
        }
Example #4
0
        /*Cria o objeto licitacao arquivo, com o nome do arquivo do edital e a licitacao referente*/
        private static void CreateLicitacaoArquivo(Licitacao licitacao, string linkEdital)
        {
            RService.Log("(CreateLicitacaoArquivo) " + Name + ": Criando arquivo de edital da OC.. " + "at {0}", Path.GetTempPath() + Name + ".txt");
            try
            {
                /*Transforma o html do edital em pdf, salva numa pasta temp e depois envia para um diretório FTP*/
                if (!Directory.Exists(PathEdital))
                {
                    Directory.CreateDirectory(PathEdital);
                }

                string fileName = FileHandle.GetATemporaryFileName();

                if (WebHandle.HtmlToPdf(linkEdital, PathEdital + fileName))
                {
                    #region FTP
                    //if (FTP.SendFileFtp(new FTP(PathEdital, fileName + WebHandle.ExtensionLastFileDownloaded, FTP.Adrss, FTP.Pwd, FTP.UName), Name))
                    //{
                    //    LicitacaoArquivo licitacaoArq = new LicitacaoArquivo();
                    //    licitacaoArq.NomeArquivo = fileName + WebHandle.ExtensionLastFileDownloaded;
                    //    licitacaoArq.NomeArquivoOriginal = Name + DateTime.Now.ToString("yyyyMMddHHmmss");
                    //    licitacaoArq.Status = 0;
                    //    licitacaoArq.IdLicitacao = licitacao.Id;

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

                    //    if (File.Exists(PathEdital + fileName + WebHandle.ExtensionLastFileDownloaded))
                    //    {
                    //        File.Delete(PathEdital + fileName + WebHandle.ExtensionLastFileDownloaded);
                    //    }
                    //}
                    //else
                    //{
                    //    RService.Log("(CreateLicitacaoArquivo) " + Name + ": error sending the file by FTP (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + Name + ".txt");
                    //}
                    #endregion

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

                    if (AWS.SendObject(licitacao, PathEdital, fileName + ".pdf"))
                    {
                        LicitacaoArquivo licitacaoArq = new LicitacaoArquivo();
                        licitacaoArq.NomeArquivo         = fileName + WebHandle.ExtensionLastFileDownloaded;
                        licitacaoArq.NomeArquivoOriginal = Name + DateTime.Now.ToString("yyyyMMddHHmmss");
                        licitacaoArq.Status      = 0;
                        licitacaoArq.IdLicitacao = licitacao.Id;

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

                        if (File.Exists(PathEdital + fileName + WebHandle.ExtensionLastFileDownloaded))
                        {
                            File.Delete(PathEdital + fileName + WebHandle.ExtensionLastFileDownloaded);
                        }

                        RService.Log("(CreateLicitacaoArquivo) " + Name + ": Arquivo " + fileName + " enviado com sucesso para Amazon S3" + " at {0}", Path.GetTempPath() + Name + ".txt");
                    }
                    else
                    {
                        RService.Log("Exception (CreateLicitacaoArquivo) " + Name + ": Erro ao enviar o arquivo para Amazon (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + Name + ".txt");
                    }
                    #endregion
                }
                else
                {
                    RService.Log("(CreateLicitacaoArquivo) " + Name + ": erro ao converter HTML para PDF (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + Name + ".txt");
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (CreateLicitacaoArquivo) " + Name + ":" + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " / " + e.InnerException + " at {0}", Path.GetTempPath() + Name + ".txt");
            }
        }
Example #5
0
        /*Cria uma licitação arquivo se o download e o envio do arquivo for efetuado com sucesso*/
        private static void CreateLicitacaoArquivo(Licitacao licitacao, string linkEdital)
        {
            RService.Log("(CreateLicitacaoArquivo) " + Name + ": Criando arquivo de edital da licitação num... " + licitacao.IdLicitacaoFonte + " at {0}", Path.GetTempPath() + Name + ".txt");
            try
            {
                if (!Directory.Exists(PathEditais))
                {
                    Directory.CreateDirectory(PathEditais);
                }
                string fileName = FileHandle.GetATemporaryFileName();

                if (WebHandle.DownloadData(linkEdital, PathEditais + fileName))
                {
                    #region FTP
                    //if (FTP.SendFileFtp(new FTP(PathEditais, fileName + WebHandle.ExtensionLastFileDownloaded, FTP.Adrss, FTP.Pwd, FTP.UName), Name))
                    //{
                    //LicitacaoArquivo licitacaoArq = new LicitacaoArquivo();
                    //licitacaoArq.NomeArquivo = fileName + WebHandle.ExtensionLastFileDownloaded;
                    //licitacaoArq.NomeArquivoOriginal = Name + DateTime.Now.ToString("yyyyMMddHHmmss");
                    //licitacaoArq.Status = 0;
                    //licitacaoArq.IdLicitacao = licitacao.Id;

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

                    //RService.Log("(CreateLicitacaoArquivo) " + Name + ": Arquivo de edital da licitação " + licitacao.IdLicitacaoFonte + " inserido com sucesso at {0}", Path.GetTempPath() + Name + ".txt");

                    //if (File.Exists(PathEditais + fileName))
                    //{
                    //File.Delete(PathEditais + fileName);
                    //}
                    //}
                    //else
                    //{
                    //RService.Log("Exception (CreateLicitacaoArquivo) " + Name + ": Erro ao enviar o arquivo para o FTP (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + Name + ".txt");
                    //}
                    #endregion

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

                    if (AWS.SendObject(licitacao, PathEditais, fileName + WebHandle.ExtensionLastFileDownloaded))
                    {
                        LicitacaoArquivo licitacaoArq = new LicitacaoArquivo();
                        licitacaoArq.NomeArquivo         = fileName + WebHandle.ExtensionLastFileDownloaded;
                        licitacaoArq.NomeArquivoOriginal = Name + DateTime.Now.ToString("yyyyMMddHHmmss");
                        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) " + Name + ": Arquivo " + fileName + " enviado com sucesso para Amazon S3" + " at {0}", Path.GetTempPath() + Name + ".txt");
                    }
                    else
                    {
                        RService.Log("(CreateLicitacaoArquivo) " + Name + ": Erro ao enviar o arquivo para Amazon S3 (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + Name + ".txt");
                    }
                    #endregion
                }
                else
                {
                    RService.Log("(CreateLicitacaoArquivo) " + Name + ": Erro ao baixar o arquivo (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + Name + ".txt");
                }
            }
            catch (Exception e)
            {
                RService.Log("RService Exception " + Name + ": (CreateLicitacaoArquivo)" + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " / " + e.InnerException +
                             " at {0}", Path.GetTempPath() + Name + ".txt");
            }
        }
Example #6
0
        //Pega os arquivos (edital e anexos) da licitação e depois os deleta
        private static void GetFiles(Licitacao licitacao)
        {
            try
            {
                //var webdriver = WebDriverChrome.LoadWebDriver(name);
                //web = webdriver.Item1;
                //wait = webdriver.Item2;
                if (web != null)
                {
                    web.Quit();
                }

                var driver = ChromeDriverService.CreateDefaultService();
                driver.HideCommandPromptWindow = true;
                var op = new ChromeOptions();
                op.AddUserProfilePreference("download.default_directory", pathEditais);
                web = new ChromeDriver(driver, new ChromeOptions(), TimeSpan.FromSeconds(300));
                web.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(300);
                wait = new WebDriverWait(web, TimeSpan.FromSeconds(300));

                //Cria diretório específico para os arquivos
                if (!Directory.Exists(pathEditais))
                {
                    Directory.CreateDirectory(pathEditais);
                }

                web.Navigate().GoToUrl(licitacao.LinkEdital);

                if (web.PageSource.Contains("Arquivos"))
                {
                    var accordionItems = web.FindElements(By.ClassName("ui-accordion-header"));

                    foreach (var item in accordionItems)
                    {
                        try
                        {
                            if (item.Text.Contains("Arquivos"))
                            {
                                item.Click();
                                break;
                            }
                        }
                        catch (Exception e)
                        {
                            RService.Log("Exception (GetFiles/Accordion) " + e.Message + " at {0}", logPath);
                        }
                    }
                }

                var downloadButtons = web.FindElements(By.ClassName("ui-button-text-icon-left"));

                foreach (var button in downloadButtons)
                {
                    try
                    {
                        button.Click();
                        Thread.Sleep(10000);
                    }
                    catch (Exception e)
                    {
                        RService.Log("Exception (GetFiles/FileButton) " + e.Message + " at {0}", logPath);
                    }
                }

                string[] files = Directory.GetFiles(pathEditais);

                foreach (var file in files)
                {
                    string fileName = file.Split('/')[1];
                    if (!string.IsNullOrEmpty(fileName))
                    {
                        #region AWS
                        RService.Log("(GetFiles) " + name + ": Enviando o arquivo para Amazon S3... " + fileName + " at {0}", logPath);

                        if (AWS.SendObject(licitacao, pathEditais, fileName))
                        {
                            LicitacaoArquivo licitacaoArq = new LicitacaoArquivo();
                            licitacaoArq.NomeArquivo         = fileName;
                            licitacaoArq.NomeArquivoOriginal = name + DateTime.Now.ToString("yyyyMMddHHmmss");
                            licitacaoArq.NomeArquivoFonte    = name;
                            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("(GetFiles) " + name + ": Arquivo " + fileName + " enviado com sucesso para Amazon S3" + " at {0}", logPath);
                        }
                        else
                        {
                            RService.Log("Exception (GetFiles) " + name + ": Erro ao enviar o arquivo para Amazon (CreateLicitacaoArquivo) {0}", logPath);
                        }

                        #endregion
                    }
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (GetFiles) " + name + ": " + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " / " + e.InnerException + " at {0}", logPath);
            }
        }
Example #7
0
        /*Cria as Licitacaoes arquivos se conseguir envia-los por ftp*/
        private static void CreateLicitacaoArquivo(Licitacao licitacao)
        {
            RService.Log("(CreateLicitacaoArquivo) " + Name + ": Criando arquivo de edital da licitação.. " + licitacao.IdLicitacaoFonte + " at {0}", Path.GetTempPath() + Name + ".txt");
            try
            {
                string fileName = FileHandle.GetATemporaryFileName();
                string zipPath  = string.Empty;
                if (Directory.Exists(PathEditais))
                {
                    zipPath = @Path.GetTempPath() + fileName + ".zip";
                    ZipFile.CreateFromDirectory(PathEditais, zipPath);
                }
                Directory.Delete(PathEditais, true);
                if (!string.IsNullOrEmpty(zipPath))
                {
                    #region FTP
                    //if (FTP.SendFileFtp(new FTP(@Path.GetTempPath(), fileName + ".zip", FTP.Adrss, FTP.Pwd, FTP.UName), Name))
                    //{
                    //LicitacaoArquivo licitacaoArq = new LicitacaoArquivo();
                    //licitacaoArq.NomeArquivo = fileName + ".zip";
                    //licitacaoArq.NomeArquivoOriginal = Name + DateTime.Now.ToString("yyyyMMddHHmmss");
                    //licitacaoArq.Status = 0;
                    //licitacaoArq.IdLicitacao = licitacao.Id;

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

                    //if (File.Exists(zipPath))
                    //{
                    //File.Delete(zipPath);
                    //}
                    //}
                    //else
                    //{
                    //RService.Log("(CreateLicitacaoArquivo) " + Name + ": error sending the file by FTP (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + Name + ".txt");
                    //}
                    #endregion

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

                    if (AWS.SendObject(licitacao, Path.GetTempPath(), fileName + ".zip"))
                    {
                        LicitacaoArquivo licitacaoArq = new LicitacaoArquivo();
                        licitacaoArq.NomeArquivo         = fileName + ".zip";
                        licitacaoArq.NomeArquivoOriginal = Name + DateTime.Now.ToString("yyyyMMddHHmmss");
                        licitacaoArq.Status      = 0;
                        licitacaoArq.IdLicitacao = licitacao.Id;

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

                        if (File.Exists(zipPath))
                        {
                            File.Delete(zipPath);
                        }

                        RService.Log("(CreateLicitacaoArquivo) " + Name + ": Arquivo " + fileName + " enviado com sucesso para Amazon S3" + " at {0}", Path.GetTempPath() + Name + ".txt");
                    }
                    else
                    {
                        RService.Log("Exception (CreateLicitacaoArquivo) " + Name + ": Erro ao enviar o arquivo para Amazon (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + Name + ".txt");
                    }
                    #endregion
                }
                else
                {
                    RService.Log("(CreateLicitacaoArquivo) " + Name + ": error while create zip file (CreateLicitacaoArquivo) {0}", Path.GetTempPath() + Name + ".txt");
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (CreateLicitacaoArquivo) " + Name + ": " + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " / " + e.InnerException + " at {0}", Path.GetTempPath() + Name + ".txt");
            }
        }
Example #8
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);
        }
Example #9
0
        internal static bool CreateLicitacaoArquivo(string nomeRobo, Licitacao licitacao, string pathEditais, string nameFile, ReadOnlyCollection <Cookie> allCookies)
        {
            try
            {
                if (!Directory.Exists(pathEditais))
                {
                    Directory.CreateDirectory(pathEditais);
                }

                string fileName = FileHandle.GetATemporaryFileName() + WebHandle.GetExtensionFile(nameFile);
                System.Threading.Thread.Sleep(15000);

                if (File.Exists(pathEditais + "\\" + nameFile))
                {
                    if (nomeRobo.Contains("BB") || nomeRobo.Contains("PCP") || nomeRobo.Contains("TCERS") || nomeRobo.Contains("CRJ"))
                    {
                        File.Move(pathEditais + nameFile, pathEditais + fileName);
                    }

                    #region FTP
                    //RService.Log("(CreateLicitacaoArquivo) " + nomeRobo + ": Enviando arquivo por FTP... " + fileName + " at {0}", Path.GetTempPath() + nomeRobo + ".txt");

                    //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);
                    //}

                    //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
                }
            }
            catch (Exception e)
            {
                RService.Log("Exception (CreateLicitacaoArquivo) " + nomeRobo + ": " + e.Message + " / " + e.StackTrace + " / " + e.InnerException + " / " + e.InnerException + " at {0}", Path.GetTempPath() + nomeRobo + ".txt");
            }

            return(false);
        }