Пример #1
0
    /// <summary>
    /// Realiza a consulta com os filtros informados, e salva a busca realizada na sessão.
    /// </summary>
    private void _Pesquisar()
    {
        try
        {
            ESC_Escola entEscola = new ESC_Escola
            {
                esc_id = uccFiltroEscolas.Esc_ID
            };
            if (!chkTodosDocentes.Checked && uccFiltroEscolas.Esc_ID > -1)
            {
                ESC_EscolaBO.GetEntity(entEscola);
            }

            Dictionary <string, string> filtros = new Dictionary <string, string>();

            bool todosDocentes = ((__SessionWEB.__UsuarioWEB.Grupo.vis_id == SysVisaoID.Administracao) ||
                                  chkTodosDocentes.Checked);

            _grvDocente.PageIndex = 0;
            odsDocente.SelectParameters.Clear();
            odsDocente.SelectParameters.Add("pes_nome", _txtNome.Text);
            odsDocente.SelectParameters.Add("coc_matricula", _txtMatricula.Text);
            odsDocente.SelectParameters.Add("tipo_cpf", _txtCPF.Text);
            odsDocente.SelectParameters.Add("tipo_rg", _txtRG.Text);
            odsDocente.SelectParameters.Add("crg_id", UCComboCargo1.Valor.ToString());
            odsDocente.SelectParameters.Add("fun_id", UCComboFuncao1.Valor.ToString());

            // Se estiver checado o chekbox, não passa a escola do combo (está invisível na tela).
            odsDocente.SelectParameters.Add("uad_idSuperior", chkTodosDocentes.Checked ? Guid.Empty.ToString() : uccFiltroEscolas.Uad_ID.ToString());
            odsDocente.SelectParameters.Add("uad_id", chkTodosDocentes.Checked ? Guid.Empty.ToString() : entEscola.uad_id.ToString());

            odsDocente.SelectParameters.Add("ent_id", __SessionWEB.__UsuarioWEB.Usuario.ent_id.ToString());
            odsDocente.SelectParameters.Add("todosDocentes", todosDocentes.ToString());
            odsDocente.SelectParameters.Add("usu_id", __SessionWEB.__UsuarioWEB.Usuario.usu_id.ToString());
            odsDocente.SelectParameters.Add("gru_id", __SessionWEB.__UsuarioWEB.Grupo.gru_id.ToString());
            odsDocente.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);

            _grvDocente.Sort(VS_Ordenacao, VS_SortDirection);

            #region Salvar busca realizada com os parâmetros do ODS.

            foreach (Parameter param in odsDocente.SelectParameters)
            {
                filtros.Add(param.Name, param.DefaultValue);
            }

            // Salva dados do combo de escola e UA Superior.
            filtros["uad_idSuperior"] = uccFiltroEscolas.Uad_ID.ToString();
            filtros.Add("esc_id", uccFiltroEscolas.Esc_ID.ToString());
            filtros.Add("uni_id", uccFiltroEscolas.Uni_ID.ToString());

            __SessionWEB.BuscaRealizada = new BuscaGestao
            {
                PaginaBusca = PaginaGestao.Docentes
                ,
                Filtros = filtros
            };

            #endregion Salvar busca realizada com os parâmetros do ODS.

            // mostra essa quantidade no combobox
            UCComboQtdePaginacao1.Valor = itensPagina;
            // atribui essa quantidade para o grid
            _grvDocente.PageSize = itensPagina;
            // atualiza o grid
            _grvDocente.DataBind();
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os docentes.", UtilBO.TipoMensagem.Erro);
        }
    }