public async Task <IActionResult> GetFoodByCategoryId(int id, [FromQuery] PaginationFilter paginationFilter) { try { var queryResult = _ctx.Foods.Include(c => c.Category).AsNoTracking().Where(f => f.Category.Id == id); var paginatedResult = await queryResult.Skip((paginationFilter.PageNumber - 1) *paginationFilter.PageSize).Take(paginationFilter.PageSize).ToListAsync(); var pagination = new Pagination(queryResult.Count(), paginationFilter); var response = new PaginatedResponse <IEnumerable <Food> >(paginatedResult, pagination); return(Ok(response)); } catch (Exception e) { _logger.LogError(e, "error in " + e.TargetSite); return(StatusCode(500)); } }
public async Task <IActionResult> Get([FromQuery] PaginationFilter paginationFilter) { try { var queryResult = _ctx.FoodEntries.Where(e => e.UserId == Guid.Parse(GetUserId())).Include(c => c.Food).AsNoTracking(); var paginatedResult = await queryResult.Skip((paginationFilter.PageNumber - 1) *paginationFilter.PageSize).Take(paginationFilter.PageSize).ToListAsync(); var pagination = new Pagination(queryResult.Count(), paginationFilter); var response = new PaginatedResponse <IEnumerable <FoodEntry> >(paginatedResult, pagination); return(Ok(response)); } catch (Exception e) { _logger.LogError(e, "error in " + e.TargetSite); return(StatusCode(500)); } }