public async Task <IEnumerable <AbrangenciaUeRetorno> > ObterUes(string codigoDre) { var loginAtual = servicoUsuario.ObterLoginAtual(); var perfilAtual = servicoUsuario.ObterPerfilAtual(); if (perfilAtual == Perfis.PERFIL_CJ) { var codigosUes = new List <string>(); await ObterAtribuicoesCjUe(loginAtual, codigosUes, codigoDre); ObterAtribuicoesEsporadicasUe(loginAtual, codigosUes, codigoDre); await ObterAtribuicoesEolUe(loginAtual, codigosUes, codigoDre); IEnumerable <Ue> ues = repositorioUe.ListarPorCodigos(codigosUes.Distinct().ToArray()); if (ues != null && ues.Any()) { return(TransformarUesEmUesDto(ues)); } else { return(null); } } else { return(await consultasAbrangencia.ObterUes(codigoDre, null, 0)); } }
public async Task <IActionResult> ObterUes(string codigoDre, [FromQuery] Modalidade?modalidade, [FromQuery] int periodo = 0, [FromQuery] int anoLetivo = 0) { var ues = await consultasAbrangencia.ObterUes(codigoDre, modalidade, periodo, ConsideraHistorico, anoLetivo); if (!ues.Any()) { return(NoContent()); } return(Ok(ues)); }
public async Task <IActionResult> ObterUes(string codigoDre, [FromQuery] Modalidade?modalidade) { var ues = await consultasAbrangencia.ObterUes(codigoDre, modalidade); if (ues.Any()) { return(Ok(ues)); } else { return(StatusCode(204)); } }
private async Task ValidarAbrangenciaUE(ComunicadoDto filtroDto) { var abrangenciaUes = await consultasAbrangencia.ObterUes(filtroDto.CodigoDre, null); var ue = abrangenciaUes.FirstOrDefault(x => x.Codigo.Equals(filtroDto.CodigoUe)); if (ue == null) { throw new NegocioException($"Usuário não possui permissão para visualizar comunicados da UE com codigo {filtroDto.CodigoUe}"); } if (filtroDto.Turmas != null && filtroDto.Turmas.Any()) { await ValidarAbrangenciaTurma(filtroDto); } }
private async Task ValidarAbrangenciaUE(SolicitarInclusaoComunicadoEscolaAquiCommand comunicado) { var abrangenciaUes = await _consultasAbrangencia.ObterUes(comunicado.CodigoDre, null); var ue = abrangenciaUes.FirstOrDefault(x => x.Codigo.Equals(comunicado.CodigoUe)); if (ue == null) { throw new NegocioException($"Usuário não possui permissão para enviar comunicados para a UE com codigo {comunicado.CodigoUe}"); } if (comunicado.Turmas != null && comunicado.Turmas.Any()) { await ValidarAbrangenciaTurma(comunicado); } }