public async Task <IActionResult> Events(int?eventTypeId, [FromQuery] int pageIndex = 0, [FromQuery] int pageSize = 6) { var query = (IQueryable <Event>)_context.Events; if (eventTypeId.HasValue) { query = query.Where(c => c.EventTypeId == eventTypeId); } var eventsCount = await query.LongCountAsync(); var events = await query .OrderBy(c => c.Name) .Skip(pageIndex * pageSize) .Take(pageSize) .ToListAsync(); var model = new PaginatedItemViewModel <Event> { PageIndex = pageIndex, PageSize = events.Count, Count = eventsCount, Data = events }; return(Ok(model)); }
public async Task <IActionResult> Items([FromQuery] int pageSize = 6, [FromQuery] int pageIndex = 0) { var totalItems = await _searchItemContext.SearchItems .LongCountAsync(); var itemsOnPage = await _searchItemContext.SearchItems .OrderBy(s => s.ItemName) .Skip(pageSize * pageIndex) .Take(pageSize) .ToListAsync(); itemsOnPage = ChangeUrlPlaceHolder(itemsOnPage); var model = new PaginatedItemViewModel <SearchItem>(pageIndex, pageSize, totalItems, itemsOnPage); return(Ok(model)); }
public async Task <IActionResult> Items( [FromQuery] int eventCategoryId = 0, [FromQuery] int eventTypeId = 0, [FromQuery] int eventLocationId = 0, [FromQuery] int pageindex = 0, [FromQuery] int pagesize = 9) { var root = (IQueryable <EventItem>)_context.eventitem; if (eventCategoryId != 0) { root = root.Where(c => c.EventCategoryId == eventCategoryId); } if (eventTypeId != 0) { root = root.Where(c => c.EventTypeId == eventTypeId); } if (eventLocationId != 0) { root = root.Where(c => c.EventLocationId == eventLocationId); } var itemsCount = await root.LongCountAsync(); var items = await root.OrderBy(c => c.Title).Skip(pageindex * pagesize).Take(pagesize).ToListAsync(); items = ChangePictureUrl(items); // as in postman we are not able to see actual pictures var model = new PaginatedItemViewModel <EventItem> { PageIndex = pageindex, PageSize = pagesize, Count = itemsCount, Data = items }; //return Ok(items) return(Ok(model)); }
public async Task <IActionResult> Items(int?restaurantId, [FromQuery] int pageSize = 6, [FromQuery] int pageIndex = 0) { var root = (IQueryable <SearchItem>)_searchItemContext.SearchItems; if (restaurantId.HasValue) { root = root.Where(s => s.RestaurantId == restaurantId); } var totalItems = await root .LongCountAsync(); var itemsOnPage = await _searchItemContext.SearchItems .OrderBy(s => s.ItemName) .Skip(pageSize * pageIndex) .Take(pageSize) .ToListAsync(); itemsOnPage = ChangeUrlPlaceHolder(itemsOnPage); var model = new PaginatedItemViewModel <SearchItem>(pageIndex, pageSize, totalItems, itemsOnPage); return(Ok(model)); }
public async Task <IActionResult> Events( [FromQuery] int pageIndex = 0, [FromQuery] int pageSize = 2) { var eventsCount = await _context.Events.LongCountAsync(); var events = await _context.Events .OrderBy(e => e.Name) .Skip(pageIndex * pageSize) .Take(pageSize) .ToListAsync(); var model = new PaginatedItemViewModel <Event> { PageIndex = pageIndex, PageSize = events.Count, Count = eventsCount, Data = events }; return(Ok(model)); }