public async Task <ICollection <RoteiroCategoria> > Busca(RoteiroCategoriaFilter filtro) { //inicializa a consulta var query = _db.RoteiroCategoria .Include(a => a.Roteiro) .Include(a => a.Categoria) .AsQueryable(); // faz o filtro query = Filter(query, filtro); //retorna o resultado return(await query.ToListAsync()); }
public async Task <ActionResult> Get([FromBody] RoteiroCategoriaFilter item) { try { //carrega o repositorio using var repository = new RoteiroCategoriaRepository(); //efetua a consulta var result = await repository.Busca(item); //retorna o resultado return(Ok(result)); } catch (Exception ex) { return(BadRequest(new ValidationModel(ex.Message))); } }
public IQueryable <RoteiroCategoria> Filter(IQueryable <RoteiroCategoria> query, RoteiroCategoriaFilter filter) { // executa os filtros if (filter.Roteiros != null) { query = query.Where(a => filter.Roteiros.Contains(a.IdRoteiro)); } if (filter.Categorias != null) { query = query.Where(a => filter.Categorias.Contains(a.IdCategoria)); } // retorna o resultado return(query); }