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