Exemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                if (Request["Id"] == null)
                {
                    PreencherCampos();
                }
                else
                {
                    HabilitarBotoesVisualizarEnviar();

                    var informe = new ManterInforme().ObterPorId(int.Parse(Request["Id"]));

                    if (informe == null)
                    {
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Atencao, "Informe inválido. Tente novamente.");

                        Response.Redirect("ListarInformes.aspx");
                    }
                    else
                    {
                        PreencherCampos(informe);
                    }
                }
            }
        }
Exemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ucPermissoes.PreencherListas();

                classes.Informe informe;

                int informeId;

                if (Request["Id"] == null ||
                    !int.TryParse(Request["Id"], out informeId) ||
                    (informe = new ManterInforme().ObterPorId(informeId)) == null)
                {
                    WebFormHelper.ExibirMensagem(enumTipoMensagem.Atencao, "Informe inválido.", "ListarInformes.aspx");
                }
                else
                {
                    if (!informe.Turmas.Any())
                    {
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Atencao,
                                                     "Informe não possui turmas selecionadas. Selecione turmas pra configurar o envio do informe.",
                                                     "EdicaoInforme.aspx?Id=" + informe.ID);
                    }
                    else
                    {
                        PreencherDados(informe);
                    }
                }
            }
        }
Exemplo n.º 3
0
        private void ExecutarThreadEnvioInforme(classes.EnvioInforme envio)
        {
            var destinatarios = new ManterEnvioInforme().ObterDestinatarios(envio);

            var assunto = envio.Informe.Numero + " " + envio.Informe.ObterMesAno();

            var manterEmail        = new ManterEmail();
            var manterEnvioInforme = new ManterEnvioInforme();

            // Pode ser lento.
            var mensagem = new ManterInforme().ObterTemplateHTML(envio.Informe);

            var imagens = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("Header", Server.MapPath("../../img/newsletter/header.jpg")),
                new KeyValuePair <string, string>("Footer", Server.MapPath("../../img/newsletter/footer.jpg")),
                new KeyValuePair <string, string>("RightArrow", Server.MapPath("../../img/newsletter/right-arrow.jpg")),
                new KeyValuePair <string, string>("PageFlip", Server.MapPath("../../img/newsletter/page-flip.jpg"))
            };

            var thread = new Thread(() =>
            {
                foreach (var email in destinatarios)
                {
                    try
                    {
                        manterEmail.EnviarEmail(email, assunto, mensagem, imagens);
                    }
                    catch (Exception)
                    {
                        // Ignored.
                    }
                }

                envio.DataEnvio = DateTime.Now;

                manterEnvioInforme.Salvar(envio);
            })
            {
                IsBackground = true
            };

            // Let the chaos COMMENCE!
            thread.Start();

            WebFormHelper.ExibirMensagem(enumTipoMensagem.Sucesso, "As mensagens estão sendo enviadas para " + destinatarios.Count() + " email(s) automaticamente. Este processo pode demorar dependendo da quantidade de receptores.");
        }
Exemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int informeId;

            classes.Informe informe;

            var manterInforme = new ManterInforme();

            if (Request["Id"] != null && int.TryParse(Request["Id"], out informeId) &&
                (informe = manterInforme.ObterPorId(informeId)) != null)
            {
                // Criar HTML com a turma informada.

                var template = manterInforme.ObterTemplateHTML(informe);

                // Substituir imagens de anexo do e-mail pelo caminho relativo.
                template = template.Replace("cid:Header", "../../img/newsletter/header.jpg");
                template = template.Replace("cid:Footer", "../../img/newsletter/footer.jpg");
                template = template.Replace("cid:RightArrow", "../../img/newsletter/right-arrow.jpg");
                template = template.Replace("cid:PageFlip", "../../img/newsletter/page-flip.jpg");

                ltrMainTemplate.Text = template;
            }
        }
Exemplo n.º 5
0
        protected void btnPesquisar_OnClick(object sender, EventArgs e)
        {
            var texto = txtNome.Text.Trim();

            var manterInforme = new ManterInforme();

            var informes = new List <Dominio.Classes.Informe>();

            if (!string.IsNullOrWhiteSpace(texto))
            {
                int valorNumerico;

                if (int.TryParse(texto, out valorNumerico))
                {
                    // Buscar onde o valor numérico informado está contido no mês ou no ano do Informe.

                    informes = manterInforme.ObterPorNumero(valorNumerico).ToList();
                }
                else if (texto.Contains("/"))
                {
                    var mesAno = texto.Split('/');

                    int mes, ano;

                    if (int.TryParse(mesAno[0].Trim(), out mes) && int.TryParse(mesAno[1].Trim(), out ano))
                    {
                        informes = manterInforme.ObterPorMesAno(mes, ano).ToList();
                    }
                    else
                    {
                        informes = manterInforme.ObterPorNome(texto).ToList();
                    }
                }
                else
                {
                    var palavrasChave = texto.Split(' ');

                    if (palavrasChave.Length > 1)
                    {
                        foreach (var palavra in palavrasChave)
                        {
                            if (int.TryParse(palavra, out valorNumerico))
                            {
                                informes.AddRange(manterInforme.ObterPorNumero(valorNumerico).ToList());
                            }
                            else
                            {
                                informes.AddRange(manterInforme.ObterPorNome(palavra));
                            }
                        }

                        // Distinguir pois podem existir repetições dos Informes.
                        informes = informes.Distinct().ToList();
                    }
                    else
                    {
                        informes = manterInforme.ObterPorNome(texto).ToList();
                    }
                }
            }
            else
            {
                informes = manterInforme.ObterTodos().ToList();
            }

            WebFormHelper.PreencherGrid(informes, dgvInformes);
        }