コード例 #1
0
        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));
            }
        }
コード例 #2
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));
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
        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);
            }
        }