Exemple #1
0
 public async Task <IActionResult> Get(ProjetoBuscarCommand command)
 {
     try
     {
         return(Ok(_projetoRepository.Buscar(command)));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Exemple #2
0
        public ProjetoBuscarViewModel Buscar(ProjetoBuscarCommand command)
        {
            var quantidadePorPagina = 10;

            var projetos = new List <Projeto>();
            var paginas  = 0;

            if (!string.IsNullOrWhiteSpace(command.Distrito) && command.CodigoClube == 0)
            {
                projetos = _context.Projeto
                           .AsQueryable()
                           .Where(x => x.Clube.Distrito.Numero == command.Distrito)
                           .Skip(command.Pagina * quantidadePorPagina)
                           .Take(quantidadePorPagina)
                           .ToList();

                paginas = _context.Projeto
                          .AsQueryable()
                          .Count(x => x.Clube.Distrito.Numero == command.Distrito) / quantidadePorPagina;
            }
            else if (command.CodigoClube > 0)
            {
                projetos = _context.Projeto
                           .AsQueryable()
                           .Where(x => x.Clube.Codigo == command.CodigoClube)
                           .Skip(command.Pagina * quantidadePorPagina)
                           .Take(quantidadePorPagina)
                           .ToList();

                paginas = _context.Projeto
                          .AsQueryable()
                          .Count(x => x.Clube.Codigo == command.CodigoClube) / quantidadePorPagina;
            }
            else
            {
                projetos = _context.Projeto
                           .AsQueryable()
                           .Skip(command.Pagina * quantidadePorPagina)
                           .Take(quantidadePorPagina)
                           .ToList();

                paginas = _context.Projeto
                          .AsQueryable()
                          .Count() / quantidadePorPagina;
            }

            return(new ProjetoBuscarViewModel(
                       pagina: command.Pagina,
                       quantidadePaginas: paginas,
                       projetos: new Projetos(projetos)));
        }