protected void btnPesquisar_OnClick(object sender, EventArgs e)
        {
            using (var manter = new RelatorioUsuarioCertificadoConhecimento())
            {
                var manterCertamesUsuario = manter.ObterCertamesUsuario();

                if (LupaUsuario.SelectedUser != null)
                {
                    var usuario = LupaUsuario.SelectedUser;

                    if (usuario != null)
                    {
                        manterCertamesUsuario = manterCertamesUsuario.Where(x => x.Usuario.ID == usuario.ID);
                    }
                }

                if (ddlTemaCertificado != null && ddlTemaCertificado.SelectedItem != null && int.Parse(ddlTemaCertificado.SelectedItem.Value) != 0 &&
                    !string.IsNullOrWhiteSpace(ddlTemaCertificado.SelectedItem.Value))
                {
                    manterCertamesUsuario = manterCertamesUsuario.Where(x => x.CertificadoCertame.ID == int.Parse(ddlTemaCertificado.SelectedItem.Value));
                }

                var certificados = manterCertamesUsuario.Select(x => new DTORelatorioUsuarioCertificadoCertame()
                {
                    Nome             = x.Usuario.Nome,
                    CPF              = x.Usuario.CPF,
                    UF               = x.Usuario.UF.Sigla,
                    Unidade          = x.Usuario.Unidade,
                    Ano              = x.CertificadoCertame.Ano,
                    TemaCertificacao = x.CertificadoCertame.NomeCertificado,
                    Status           = Enum.GetName(typeof(enumStatusCertificadoConhecimento), x.Status),
                    DataDownload     = x.DataDownload != null ? x.DataDownload.Value.ToString("dd/MM/yyyy") : "",
                    Nota             = x.Nota
                }).ToList();

                UsuariosRelatorio = certificados;

                componenteGeracaoRelatorio.Visible = certificados.Count > 0;

                WebFormHelper.PreencherGrid(certificados, dgvUsuariosCertame);

                WebFormHelper.PaginarGrid(certificados, dgvUsuariosCertame, 0);
            }
        }
Exemplo n.º 2
0
        protected void btnPesquisar_OnClick(object sender, EventArgs e)
        {
            using (var manter = new RelatorioUsuarioCertificadoConhecimento())
            {
                var boletins = manter.ObterCertamesUsuario();

                if (string.IsNullOrWhiteSpace(txtNome.Text) == false)
                {
                    boletins = boletins.Where(x => x.Usuario.Nome.Replace("  ", " ").Contains(txtNome.Text));
                }

                if (string.IsNullOrWhiteSpace(txtCPF.Text) == false)
                {
                    boletins = boletins.Where(x => x.Usuario.CPF.Contains(txtCPF.Text));
                }

                if (string.IsNullOrWhiteSpace(txtUnidade.Text) == false)
                {
                    boletins = boletins.Where(x => x.Usuario.Unidade.Contains(txtUnidade.Text));
                }

                if (string.IsNullOrWhiteSpace(txtInscricao.Text) == false)
                {
                    boletins = boletins.Where(x => x.NumeroInscricao.Contains(txtInscricao.Text));
                }

                var ufsSelecionadas = ListBoxesUF.RecuperarIdsSelecionados <int>().ToList();

                if (ufsSelecionadas.Any())
                {
                    boletins = boletins.Where(x => ufsSelecionadas.Contains(x.Usuario.UF.ID));
                }

                if (string.IsNullOrWhiteSpace(txtAno.Text) == false)
                {
                    int ano;
                    if (int.TryParse(txtAno.Text, out ano))
                    {
                        boletins = boletins.Where(x => x.CertificadoCertame.Ano == ano);
                    }
                    else
                    {
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Ano inválido");
                        return;
                    }
                }

                if (ddlTemaCertificado != null && ddlTemaCertificado.SelectedItem != null && int.Parse(ddlTemaCertificado.SelectedItem.Value) != 0 &&
                    !string.IsNullOrWhiteSpace(ddlTemaCertificado.SelectedItem.Value))
                {
                    boletins = boletins.Where(x => x.CertificadoCertame.ID == int.Parse(ddlTemaCertificado.SelectedItem.Value));
                }

                if (string.IsNullOrWhiteSpace(ddlStatus.SelectedValue) == false)
                {
                    int status;
                    if (int.TryParse(ddlStatus.SelectedValue, out status))
                    {
                        boletins = boletins.Where(x => x.Status == (enumStatusUsuarioCertificadoCertame)status);
                    }
                    else
                    {
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Status inválido");
                        return;
                    }
                }

                if (string.IsNullOrWhiteSpace(ddlBoletimEmitido.SelectedValue) == false)
                {
                    var emitido = ddlBoletimEmitido.SelectedValue == "Sim";

                    boletins = emitido
                        ? boletins.Where(x => x.DataDownloadBoletim != null)
                        : boletins.Where(x => x.DataDownloadBoletim == null);
                }

                DateTime dataDownload;

                if (!string.IsNullOrWhiteSpace(txtDataDownload.Text))
                {
                    if (DateTime.TryParse(txtDataDownload.Text, out dataDownload))
                    {
                        boletins = boletins.Where(x => x.DataDownloadBoletim != null && x.DataDownloadBoletim.Value.Date == dataDownload);
                    }
                    else
                    {
                        WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Data de Download inválida");
                        return;
                    }
                }

                var certificados = boletins.Select(x => new DTORelatorioUsuarioCertificadoCertame
                {
                    Nome            = x.Usuario.Nome,
                    CPF             = x.Usuario.CPF,
                    NumeroInscricao = x.NumeroInscricao,
                    UF               = x.Usuario.UF.Sigla,
                    Unidade          = x.Usuario.Unidade,
                    Ano              = x.CertificadoCertame.Ano,
                    TemaCertificacao = x.CertificadoCertame.NomeCertificado,
                    Status           = Enum.GetName(typeof(enumStatusCertificadoConhecimento), x.Status),
                    DataDownload     =
                        x.DataDownloadBoletim != null ? x.DataDownloadBoletim.Value.ToString("dd/MM/yyyy") : ""
                }).ToList();

                UsuariosRelatorio = certificados;

                componenteGeracaoRelatorio.Visible = certificados.Count > 0;

                WebFormHelper.PreencherGrid(certificados, dgvUsuariosCertame);

                WebFormHelper.PaginarGrid(certificados, dgvUsuariosCertame, 0);
            }
        }