public HttpResponseMessage GetEscolas(Guid?diretoriaId = null) { try { List <sComboUAEscola> lst = new List <sComboUAEscola>(); if ((__userLogged.Grupo.vis_id == SysVisaoID.UnidadeAdministrativa) || !ACA_ParametroAcademicoBO.VerificaFiltroUniAdmSuperiorPorEntidade(__userLogged.Usuario.ent_id)) { lst = ESC_UnidadeEscolaBO.SelecionaEscolasControladas( __userLogged.Usuario.ent_id, __userLogged.Grupo.gru_id, __userLogged.Usuario.usu_id, true, ApplicationWEB.AppMinutosCacheLongo); } else { lst = ESC_UnidadeEscolaBO.SelecionaEscolasControladasPorUASuperior( diretoriaId == null ? Guid.Empty : diretoriaId.Value, __userLogged.Usuario.ent_id, __userLogged.Grupo.gru_id, __userLogged.Usuario.usu_id, (byte)1, true, ApplicationWEB.AppMinutosCacheLongo); } return(Request.CreateResponse(HttpStatusCode.OK, lst.Select(p => new Escola { id = p.esc_id.ToString(), unidadeId = p.uni_id.ToString(), text = p.uni_escolaNome }) )); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex)); } }
/// <summary> /// Carrega unidades escolares apartir /// do tipo de unidade administrativa superior passada por parâmetro. /// </summary> /// <param name="uad_idSuperior">Id da unidade administrativa superior</param> public void CarregaUnidadesEscolaresPorUASuperior(Guid uad_idSuperior) { List <sComboUAEscola> dt; byte uni_Situacao = MostraApenasAtivas ? (byte)1 : (byte)0; // Verifica se obrigatório filtrar por permissão de usuário. if (PermissaoUsuario) { // Verifica se configurado para filtrar por escolas controladas. if (FiltroEscolasControladas.HasValue) { dt = ESC_UnidadeEscolaBO.SelecionaEscolasControladasPorUASuperior( uad_idSuperior, __SessionWEB.__UsuarioWEB.Usuario.ent_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.usu_id, uni_Situacao, FiltroEscolasControladas.Value, ApplicationWEB.AppMinutosCacheLongo); } else { dt = ESC_UnidadeEscolaBO.GetSelectByUASuperiorSituacao( uad_idSuperior, __SessionWEB.__UsuarioWEB.Usuario.ent_id, __SessionWEB.__UsuarioWEB.Grupo.gru_id, __SessionWEB.__UsuarioWEB.Usuario.usu_id, uni_Situacao, ApplicationWEB.AppMinutosCacheLongo); } } else { // Verifica se configurado para filtrar por escolas controladas. if (FiltroEscolasControladas.HasValue) { dt = ESC_UnidadeEscolaBO.SelecionaEscolasControladasPorUASuperiorPermissaoTotal( uad_idSuperior, __SessionWEB.__UsuarioWEB.Usuario.ent_id, true, FiltroEscolasControladas.Value, uni_Situacao, ApplicationWEB.AppMinutosCacheLongo); } else { dt = ESC_UnidadeEscolaBO.GetSelectByUASuperiorPermissaoTotal( uad_idSuperior, __SessionWEB.__UsuarioWEB.Usuario.ent_id, true, uni_Situacao, ApplicationWEB.AppMinutosCacheLongo); } } if (VS_EscolasPapeis.Any()) { dt = dt.Where(p => VS_EscolasPapeis.Any(e => e == p.esc_id)).ToList(); } ddlUnidadeEscola.DataTextField = "esc_uni_nome"; ddlUnidadeEscola.Items.Clear(); ddlUnidadeEscola.DataSource = dt; MostrarMessageSelecioneEscola = true; ddlUnidadeEscola.DataBind(); SelecionaPrimeiroItemEscola(); }