protected void btnPesquisar_Click(object sender, EventArgs e) { using (var relP = new RelatorioPrograma()) { var id = string.IsNullOrEmpty(txtPrograma.Text) ? (int?)null : int.Parse(txtPrograma.Text); var idCapacitacao = string.IsNullOrWhiteSpace(cbxOfertas.SelectedValue) ? (int?)null : int.Parse(cbxOfertas.SelectedValue); var idTurmaCapacitacao = string.IsNullOrWhiteSpace(cbxTurmas.SelectedValue) ? (int?)null : int.Parse(cbxTurmas.SelectedValue); var idModulos = string.IsNullOrWhiteSpace(cbxModulos.SelectedValue) ? (int?)null : int.Parse(cbxModulos.SelectedValue); var lstResult = relP.ConsultarProgramas(id, idCapacitacao, idTurmaCapacitacao, idModulos); if (lstResult != null && lstResult.Rows.Count > 0) { foreach (DataColumn item in lstResult.Columns) { item.Caption = (from ListItem i in _lsItens where i.Value == item.ColumnName select i.Text).FirstOrDefault() ?? item.Caption; } // Converter os resultados do DataTable em DTO para o totalizador ficar feliz da vida. var resultadoConvertido = WebFormHelper.GetDictionaryFromDataTable(lstResult).Select(resultado => new DTORelatorioPrograma { Cpf = resultado["Cpf"].ToString(), UF = resultado["UF"].ToString(), StatusMatricula = resultado["StatusMatricula"].ToString() }).ToList(); // Converter os resultados em dados totalizadores. var totalizadores = new List <DTOTotalizador> { TotalizadorUtil.GetTotalizador(resultadoConvertido, "Total da quantidade de alunos", "Cpf", enumTotalizacaoRelatorio.ContarDistintos, false), TotalizadorUtil.GetTotalizador(resultadoConvertido, "Total da quantidade por status", "StatusMatricula", enumTotalizacaoRelatorio.Contar), TotalizadorUtil.GetTotalizador(resultadoConvertido, "Total da quantidade de alunos UF", "UF", enumTotalizacaoRelatorio.ContarDistintos) }; ucTotalizadorRelatorio.PreencherTabela(totalizadores); Session.Add("dsRelatorio", lstResult); dgRelatorio.DataSource = lstResult; dgRelatorio.DataBind(); componenteGeracaoRelatorio.Visible = true; ucFormatoSaidaRelatorio.Visible = true; btnPesquisar.CssClass = "btn btn-default mostrarload"; Filtros.CssClass = "panel-collapse collapse"; } else { ucTotalizadorRelatorio.LimparTotalizadores(); componenteGeracaoRelatorio.Visible = false; ucFormatoSaidaRelatorio.Visible = false; } WebFormHelper.ValidarVisibilidadeCamposGrid(dgRelatorio, chkListaCamposVisiveis.Items); } }
protected void Page_Load(object sender, EventArgs e) { _lsItens.Add(new ListItem { Selected = true, Text = "Participante", Value = "Participante" }); _lsItens.Add(new ListItem { Selected = true, Text = "CPF", Value = "CPF" }); _lsItens.Add(new ListItem { Selected = true, Text = "E-mail", Value = "Email" }); _lsItens.Add(new ListItem { Selected = true, Text = "Status Matrícula", Value = "StatusMatricula" }); _lsItens.Add(new ListItem { Selected = true, Text = "UF", Value = "UF" }); _lsItens.Add(new ListItem { Selected = true, Text = "Programa", Value = "Programa" }); _lsItens.Add(new ListItem { Selected = true, Text = "Oferta", Value = "Oferta" }); _lsItens.Add(new ListItem { Selected = true, Text = "Turma", Value = "Turma" }); _lsItens.Add(new ListItem { Selected = true, Text = "Data de Inscrição", Value = "DataInscricao" }); _lsItens.Add(new ListItem { Selected = true, Text = "Data da Mudança de Status de matrícula", Value = "DataMudStatusMatric" }); if (IsPostBack) { return; } using (var relP = new RelatorioPrograma()) { ViewState["_Programas"] = Helpers.Util.ObterListaAutocomplete(relP.ObterProgramas()); WebFormHelper.PreencherLista(new List <Capacitacao>(), cbxOfertas, true); WebFormHelper.PreencherLista(new List <TurmaCapacitacao>(), cbxTurmas, true); WebFormHelper.PreencherLista(new List <Modulo>(), cbxModulos, true); } Session["dsRelatorio"] = null; AtualizarListaCamposVisiveis(); }