public async Task <PaginacaoResultadoDto <EventoTipoDto> > Listar(FiltroEventoTipoDto Filtro)
        {
            var retornoQueryPaginada = await repositorioEventoTipo.ListarTipos(Filtro.LocalOcorrencia, Filtro.Letivo, Filtro.Descricao, Paginacao);

            var retornoConsultaPaginada = new PaginacaoResultadoDto <EventoTipoDto>
            {
                TotalPaginas   = retornoQueryPaginada.TotalPaginas,
                TotalRegistros = retornoQueryPaginada.TotalRegistros
            };

            bool nenhumItemEncontrado = retornoQueryPaginada.Items == null ||
                                        !retornoQueryPaginada.Items.Any() ||
                                        retornoQueryPaginada.Items.ElementAt(0).Id == 0;

            if (!nenhumItemEncontrado && Filtro.EhCadastro)
            {
                var usuario = await servicoUsuario.ObterUsuarioLogado();

                if (usuario.EhPerfilUE())
                {
                    retornoQueryPaginada.Items = retornoQueryPaginada.Items
                                                 .Where(r => r.Id != (long)TipoEvento.LiberacaoExcepcional &&
                                                        r.Id != (long)TipoEvento.ReposicaoNoRecesso);
                }
            }

            retornoConsultaPaginada.Items = nenhumItemEncontrado
                ? null
                : retornoQueryPaginada.Items.Select(x => EntidadeParaDto(x)).ToList();

            return(retornoConsultaPaginada);
        }
예제 #2
0
        public async Task <PaginacaoResultadoDto <EventoTipoDto> > Listar(FiltroEventoTipoDto Filtro)
        {
            var retornoQueryPaginada = await repositorioEventoTipo.ListarTipos(Filtro.LocalOcorrencia, Filtro.Letivo, Filtro.Descricao, Paginacao);

            var retornoConsultaPaginada = new PaginacaoResultadoDto <EventoTipoDto>
            {
                TotalPaginas   = retornoQueryPaginada.TotalPaginas,
                TotalRegistros = retornoQueryPaginada.TotalRegistros
            };

            bool nenhumItemEncontrado = retornoQueryPaginada.Items == null ||
                                        !retornoQueryPaginada.Items.Any() ||
                                        retornoQueryPaginada.Items.ElementAt(0).Id == 0;

            retornoConsultaPaginada.Items = nenhumItemEncontrado
                ? null
                : retornoQueryPaginada.Items.Select(x => EntidadeParaDto(x)).ToList();

            return(retornoConsultaPaginada);
        }