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