protected void Page_Load(object sender, EventArgs e) { manterMatrilhaTrilha = new ManterMatriculaTrilha(); var listaUsuarioTrilha = Cache["dsRelatorioHistoricoParticipacao"] as IList <UsuarioTrilha>; chkListaCamposVisiveis = Cache["dsCamposRelatorioHistoricoParticipacao"] as CheckBoxList; filtros = Cache["dsFiltrosRelatorioHistoricoParticipacao"] as DTOFiltrosHistoricoParticipacaoTrilha; if (listaUsuarioTrilha != null) { rptUsuariosTrilha.DataSource = listaUsuarioTrilha; rptUsuariosTrilha.DataBind(); } }
protected void btnPesquisar_Click(object sender, EventArgs e) { try { componenteGeracaoRelatorio.Visible = false; var usuarioTrilha = ObterObjetoUsuarioTrilha(); manterMatriculaTrilha = new ManterMatriculaTrilha(); if (usuarioTrilha == null) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Alerta, "Nenhuma Informação Encontrada"); } else { if (ucLupaUsuario.SelectedUser != null) { usuarioTrilha.Usuario = ucLupaUsuario.SelectedUser; } } // Ufs selecionados var ufsSelecionados = ucMultiplosUF.RecuperarIdsSelecionados <int>(); //var listaUsuarioTrilha = manterMatriculaTrilha.ObterMatriculaTrilhaPorFiltro(usuarioTrilha, ufsSelecioandos).Take(10); var listaUsuarioTrilha = manterMatriculaTrilha.ObterMatriculaTrilhaPorFiltro(usuarioTrilha, ufsSelecionados); // Filtro por status de matrícula para que a consulta fique menor no momento do bind int idStatus; if (int.TryParse(ddlStatus.SelectedValue, out idStatus) && idStatus > 0) { listaUsuarioTrilha = listaUsuarioTrilha.Where(x => x.ListaItemTrilhaParticipacao.Any(p => p.ItemTrilha.ObterStatusParticipacoesItemTrilha(p.UsuarioTrilha) == (enumStatusParticipacaoItemTrilha)idStatus)).ToList(); } var niveisOcupacionais = ucSelectNivelOcupacional.RecuperarIdsSelecionados <int>().ToList(); listaUsuarioTrilha = niveisOcupacionais.Any() ? listaUsuarioTrilha.Where(x => niveisOcupacionais.Contains(x.NivelOcupacional.ID)).ToList() : listaUsuarioTrilha; // Filtro por data limite de conclusão listaUsuarioTrilha = !string.IsNullOrEmpty(txtDataLimite.Text) ? listaUsuarioTrilha.Where(x => x.DataLimite <= DateTime.Parse(txtDataLimite.Text)).ToList() : listaUsuarioTrilha; // Filtro por data inicio de conclusão listaUsuarioTrilha = !string.IsNullOrEmpty(txtPeriodoInicial.Text) ? listaUsuarioTrilha.Where(x => x.DataInicio >= DateTime.Parse(txtPeriodoInicial.Text)).ToList() : listaUsuarioTrilha; // Filtro por data fim de conclusão listaUsuarioTrilha = !string.IsNullOrEmpty(txtPeriodoFinal.Text) ? listaUsuarioTrilha.Where(x => x.DataFim <= DateTime.Parse(txtPeriodoFinal.Text)).ToList() : listaUsuarioTrilha; if (listaUsuarioTrilha.Any()) { componenteGeracaoRelatorio.Visible = true; rptUsuariosTrilha.DataSource = listaUsuarioTrilha; rptUsuariosTrilha.DataBind(); Cache["dsRelatorioHistoricoParticipacao"] = listaUsuarioTrilha; Cache["dsCamposRelatorioHistoricoParticipacao"] = chkListaCamposVisiveis; Cache["dsFiltrosRelatorioHistoricoParticipacao"] = new DTOFiltrosHistoricoParticipacaoTrilha { ddlPontoSebrae = ddlPontoSebrae.SelectedValue, ddlMissao = ddlMissao.SelectedValue, rblTipoSolucao = cblTipoSolucao.Items[0].Selected ? "0" : "1", ddlStatus = ddlStatus.SelectedValue, usuarioTrilha = usuarioTrilha, niveisSelecionados = ucSelectNivelOcupacional.RecuperarIdsSelecionados <int>().ToList() }; var query = new ManterPontoSebrae().ObterTodosIqueryable(); // Recupera ponto sebrae selecionado int idPontoSebraeSelecionado; if (int.TryParse(ddlPontoSebrae.SelectedValue, out idPontoSebraeSelecionado) && idPontoSebraeSelecionado != 0) { query = query.Where(x => x.ID == idPontoSebraeSelecionado); } // Filtrar pro trilha nível query = query.Where(x => x.TrilhaNivel.ID == usuarioTrilha.TrilhaNivel.ID); var niveisSelecionados = ucSelectNivelOcupacional.RecuperarIdsSelecionados <int>(); // Filtra pro nível ocupacional query = niveisSelecionados.Any() ? query.Where(x => x.TrilhaNivel.ListaPermissao.Where(p => p.NivelOcupacional != null).Any(p => niveisSelecionados.Contains(p.NivelOcupacional.ID))) : query; var dtoPontoSebrae = query.OrderBy(x => x.ID).Select(p => new DTOPontoSebrae { ID = p.ID.ToString(), NomePontoSebrae = p.NomeExibicao }).ToList(); // rptPontosSebrae.DataSource = dtoPontoSebrae; // rptPontosSebrae.DataBind(); pnlParticipacaoTrilha.Visible = true; //if (!chkListaCamposVisiveis.Items.FindByValue("CPF").Selected) CPF.Visible = false; //if (!chkListaCamposVisiveis.Items.FindByValue("DataAlteracaoStatusParticipacao").Selected) DataInclusaoTrilha.Visible = false; //if (!chkListaCamposVisiveis.Items.FindByValue("DataInclusaoTrilha").Selected) DataInclusaoTrilha.Visible = false; //WebFormHelper.ValidarVisibilidadeCamposGrid(dgRelatorio, chkListaCamposVisiveis.Items); } else { pnlParticipacaoTrilha.Visible = false; WebFormHelper.ExibirMensagem(enumTipoMensagem.Alerta, "Nenhuma Informação Encontrada"); } } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } }