/// <summary> /// Realiza a consulta pelos filtros informados. /// </summary> private void Pesquisar() { try { Dictionary <string, string> filtros = new Dictionary <string, string>(); bool permiteConsultar = true; List <sPermissaoDocente> ltPermissao = new List <sPermissaoDocente>(); EnumTipoDocente tipoDocente = EnumTipoDocente.Titular; if (_VS_doc_id > 0) { long tud_id = UCCTurmaDisciplina1.Valor; bool AtribuicaoAtiva; // Traz a última atribuição que o docente teve naquela disciplina, sendo ativa ou inativa. byte tdt_posicao = TUR_TurmaDocenteBO.SelecionaPosicaoPorDocenteTurma_ComInativos (_VS_doc_id, tud_id, out AtribuicaoAtiva, ApplicationWEB.AppMinutosCacheLongo); VS_AtribuicaoAtiva = AtribuicaoAtiva; ltPermissao = CFG_PermissaoDocenteBO.SelecionaPermissaoModulo(tdt_posicao, (byte)EnumModuloPermissao.Compensacoes); permiteConsultar = ltPermissao.Any(p => p.pdc_permissaoConsulta); TUR_TurmaDisciplina entityTurmaDisciplina = new TUR_TurmaDisciplina { tud_id = tud_id }; TUR_TurmaDisciplinaBO.GetEntity(entityTurmaDisciplina); VS_DisciplinaEspecial = entityTurmaDisciplina.tud_disciplinaEspecial; tipoDocente = ACA_TipoDocenteBO.SelecionaTipoDocentePorPosicao(tdt_posicao, ApplicationWEB.AppMinutosCacheLongo); } else { VS_AtribuicaoAtiva = true; } if (permiteConsultar) { gvCompAusencia.EmptyDataText = GetGlobalResourceObject("Classe", "CompensacaoAusencia.Busca.SemCompensacaoAusencia").ToString(); gvCompAusencia.PageIndex = 0; odsCompAusencia.SelectMethod = _VS_doc_id > 0 && VS_DisciplinaEspecial ? "SelectByPesquisaFiltroDeficiencia" : "SelectByPesquisa"; odsCompAusencia.SelectParameters.Clear(); odsCompAusencia.SelectParameters.Add("uad_idSuperior", DbType.Guid, UCComboUAEscola.Uad_ID.ToString()); odsCompAusencia.SelectParameters.Add("esc_id", DbType.Int32, UCComboUAEscola.Esc_ID.ToString()); odsCompAusencia.SelectParameters.Add("uni_id", DbType.Int32, UCComboUAEscola.Uni_ID.ToString()); odsCompAusencia.SelectParameters.Add("cur_id", DbType.Int32, UCCCursoCurriculo.Valor[0].ToString()); odsCompAusencia.SelectParameters.Add("crr_id", DbType.Int32, UCCCursoCurriculo.Valor[1].ToString()); odsCompAusencia.SelectParameters.Add("cap_id", DbType.Int32, UCCPeriodoCalendario.Valor[1].ToString()); odsCompAusencia.SelectParameters.Add("tud_id", DbType.Int64, UCCTurmaDisciplina1.Valor.ToString()); odsCompAusencia.SelectParameters.Add("tur_id", DbType.Int64, ddlTurma.SelectedValue); // Filtra pela visão do usuário. odsCompAusencia.SelectParameters.Add("gru_id", __SessionWEB.__UsuarioWEB.Grupo.gru_id.ToString()); odsCompAusencia.SelectParameters.Add("usu_id", __SessionWEB.__UsuarioWEB.Usuario.usu_id.ToString()); odsCompAusencia.SelectParameters.Add("adm", (__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Administracao || __SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Individual).ToString()); odsCompAusencia.SelectParameters.Add("ent_id", __SessionWEB.__UsuarioWEB.Usuario.ent_id.ToString()); if (_VS_doc_id > 0 && VS_DisciplinaEspecial) { odsCompAusencia.SelectParameters.Add("tipoDocente", tipoDocente.ToString()); } odsCompAusencia.DataBind(); // quantidade de itens por página string qtItensPagina = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.QT_ITENS_PAGINACAO); int itensPagina = string.IsNullOrEmpty(qtItensPagina) ? ApplicationWEB._Paginacao : Convert.ToInt32(qtItensPagina); gvCompAusencia.Sort(VS_Ordenacao, VS_SortDirection); #region Salvar busca realizada com os parâmetros do ODS. foreach (Parameter param in odsCompAusencia.SelectParameters) { filtros.Add(param.Name, param.DefaultValue); } filtros.Add("tpc_id", UCCPeriodoCalendario.Valor[0].ToString()); filtros.Add("cal_id", UCComboCalendario.Valor.ToString()); __SessionWEB.BuscaRealizada = new BuscaGestao { PaginaBusca = PaginaGestao.CompensacaoAusencia , Filtros = filtros }; #endregion // mostra essa quantidade no combobox UCComboQtdePaginacao1.Valor = itensPagina; // atribui essa quantidade para o grid gvCompAusencia.PageSize = itensPagina; // atualiza o grid gvCompAusencia.DataBind(); fdsResultados.Visible = true; if (_VS_doc_id > 0) { gvCompAusencia.Columns[gvCompAusenciaIndiceAlterar].Visible = gvCompAusencia.Columns[gvCompAusenciaIndiceExcluir].Visible = ltPermissao.Any(p => p.pdc_permissaoEdicao); } else { gvCompAusencia.Columns[gvCompAusenciaIndiceAlterar].Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_alterar; gvCompAusencia.Columns[gvCompAusenciaIndiceExcluir].Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_excluir; } } else { string msg = String.Format("O docente não possui permissão para consultar compensações de ausência do(a) {0} selecionado(a).", GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA_MIN")); lblMessage.Text = UtilBO.GetErroMessage(msg, UtilBO.TipoMensagem.Alerta); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar as compensações de ausências.", UtilBO.TipoMensagem.Erro); } }