Пример #1
0
        public async Task <IEnumerable <OpcaoDropdownDto> > Handle(ObterFiltroRelatoriosModalidadesPorUeQuery request, CancellationToken cancellationToken)
        {
            if (request.CodigoUe == "-99")
            {
                return(EnumExtensao.ListarDto <Modalidade>().Select(c => new OpcaoDropdownDto(c.Id.ToString(), c.Descricao)));
            }

            var login  = servicoUsuario.ObterLoginAtual();
            var perfil = servicoUsuario.ObterPerfilAtual();

            var listaAbrangencia = await repositorioAbrangencia.ObterModalidades(login, perfil, request.AnoLetivo, request.ConsideraHistorico);

            var modalidades = await repositorioAbrangencia.ObterModalidadesPorUe(request.CodigoUe);

            return(modalidades?.Where(m => listaAbrangencia.Contains((int)m))?.Select(c => new OpcaoDropdownDto(((int)c).ToString(), c.Name())));
        }
Пример #2
0
        public async Task <IEnumerable <OpcaoDropdownDto> > Handle(ObterFiltroRelatoriosAnosEscolaresPorModalidadeUeQuery request, CancellationToken cancellationToken)
        {
            if (request.CodigoUe == "-99")
            {
                return(ObterAnosEscolaresPorModalidade(request.Modalidade));
            }

            var modalidadesUe = await repositorioAbrangencia.ObterModalidadesPorUe(request.CodigoUe);

            var modalidadeSelecionada = modalidadesUe?.FirstOrDefault(c => c == request.Modalidade);

            if (modalidadeSelecionada == null)
            {
                throw new NegocioException("Modalidade localizada na UE informada.");
            }

            return(ObterAnosEscolaresPorModalidade(modalidadeSelecionada.Value));
        }