Esempio n. 1
0
        private void ProgressoDaTarefa_ProgressChanged(object sender, ProgressoDaTarefa e)
        {
            pgbProgresso.Value = e.Progresso;
            lblEtapaAtual.Text = e.EtapaAtual;

            if (e.Progresso < 100)
            {
                this.UseWaitCursor       = true;
                FuncaoBotaoProcessamento = BotaoProcessamento.CancelarProcessamento;
                lblEtapaAtual.BackColor  = Color.LightGray;
            }
            else
            {
                this.UseWaitCursor       = false;
                FuncaoBotaoProcessamento = BotaoProcessamento.IniciarProcessamento;
                lblEtapaAtual.BackColor  = Color.LightGreen;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Método que inicia processamento do
        /// </summary>
        /// <returns></returns>
        private async Task IniciarProcessamentoAsync(IProgress <ProgressoDaTarefa> pProgresso, CancellationToken pCancelarTarefa)
        {
            ProgressoDaTarefa reportarProgresso = new ProgressoDaTarefa();
            List <Redirect>   redirects         = new List <Redirect>();

            //Lendo arquivos XML e recuperando URLs
            reportarProgresso.Progresso  = 10;
            reportarProgresso.EtapaAtual = "Lendo arquivos XML...";
            pProgresso.Report(reportarProgresso);
            List <string> urlsSitemapAntigo = await GerarListaDeUrlsAsync(_caminhoSitemapAntigo, chkRemoverSubdominio.Checked, pCancelarTarefa);

            List <string> urlsSitemapAtual = await GerarListaDeUrlsAsync(_caminhoSitemapAtual, chkRemoverSubdominio.Checked, pCancelarTarefa);

            //Removendo ocorrências idênticas entre URLs do site atual e site antigo
            reportarProgresso.Progresso  = 20;
            reportarProgresso.EtapaAtual = "Removendo ocorrências idênticas...";
            pProgresso.Report(reportarProgresso);
            urlsSitemapAntigo = urlsSitemapAntigo.Except(urlsSitemapAtual).ToList();


            //Buscando semelhanças
            reportarProgresso.Progresso  = 30;
            reportarProgresso.EtapaAtual = "Gerando Redirects...";
            pProgresso.Report(reportarProgresso);
            int qtdRedirectsFeitos = await Task.Run(() => GerarRedirects(urlsSitemapAntigo, urlsSitemapAtual, out redirects, pCancelarTarefa));

            MessageBox.Show("Redirects feitos: " + qtdRedirectsFeitos);


            //Salvando arquivo com redirects
            reportarProgresso.Progresso  = 90;
            reportarProgresso.EtapaAtual = "Salvando arquivo...";
            pProgresso.Report(reportarProgresso);
            await EscreverArquivoAsync(redirects);

            //Finalizando operação
            reportarProgresso.Progresso  = 100;
            reportarProgresso.EtapaAtual = "Redirects gerados com sucesso";
            pProgresso.Report(reportarProgresso);
        }