public async Task <IActionResult> Items(string name, [FromQuery] int pageSize = 6, [FromQuery] int pageIndex = 0) { var totalItems = await _context.EventItems .Where(c => c.Name.StartsWith(name)) .LongCountAsync(); var itemsOnPage = await _context.EventItems .Where(c => c.Name.StartsWith(name)) .OrderBy(c => c.Name) .Skip(pageSize * pageIndex) .Take(pageSize) .ToListAsync(); itemsOnPage = ChangePictureUrl(itemsOnPage); var model = new PaginateditemsViewModel <EventItem> { PageSize = pageSize, PageIndex = pageIndex, Count = totalItems, Data = itemsOnPage }; return(Ok(model)); }
public async Task <IActionResult> Items(int?eventTypeId, int?eventLocationId, int?eventDateId, [FromQuery] int pageSize = 6, [FromQuery] int pageIndex = 0) { var root = (IQueryable <EventItem>)_context.EventItems; if (eventTypeId.HasValue) { root = root.Where(c => c.EventTypeId == eventTypeId); } if (eventLocationId.HasValue) { root = root.Where(c => c.EventLocationId == eventLocationId); } if (eventDateId.HasValue) { root = root.Where(c => c.EventDateId == eventDateId); } var totalItems = await root .LongCountAsync(); var itemsOnPage = await root .OrderBy(c => c.Name) .Skip(pageSize * pageIndex) .Take(pageSize) .ToListAsync(); itemsOnPage = ChangePictureUrl(itemsOnPage); var model = new PaginateditemsViewModel <EventItem> { PageSize = pageSize, PageIndex = pageIndex, Count = totalItems, Data = itemsOnPage }; return(Ok(model)); }
public async Task <IActionResult> Items( [FromQuery] int pageSize = 6, [FromQuery] int pageIndex = 0) { var itemsCount = await _context.EventItems.LongCountAsync(); var items = await _context.EventItems .OrderBy(c => c.Name) .Skip(pageSize * pageIndex) .Take(pageSize) .ToListAsync(); items = ChangePictureUrl(items); var model = new PaginateditemsViewModel <EventItem> { PageSize = pageSize, PageIndex = pageIndex, Count = itemsCount, Data = items }; return(Ok(model)); }