public async Task <IEnumerable <Types.StockItem> > FindAsync(Types.StockItem searchItem, Types.PaginationFilter filter = null) { try { if (filter == null) { filter = new Types.PaginationFilter { PageNumber = 1, PageSize = 1000 }; } var recordsToSkip = (filter.PageNumber - 1) * filter.PageSize; List <StockItem> results = await _context.StockItem.Include(x => x.Image) .Include(x => x.StockAccessory) .Where(x => x.Colour == searchItem.Colour || x.CostPrice == searchItem.CostPrice || x.Kms == searchItem.Kms || x.Make == searchItem.Make || x.Model == searchItem.Model || x.ModelYear == searchItem.ModelYear || x.RegNo == searchItem.RegNo || x.RetailPrice == searchItem.RetailPrice || x.Vin == searchItem.Vin) .Skip(recordsToSkip) .Take(filter.PageSize) .AsNoTracking() .ToListAsync(); return(_mapper.Map <IEnumerable <Types.StockItem> >(results)); } catch (Exception ex) { // Log ex throw; } }
public async Task <IEnumerable <Types.StockItem> > GetAsync(Types.PaginationFilter filter = null) { try { List <StockItem> results = null; if (filter == null) { filter = new Types.PaginationFilter { PageNumber = 1, PageSize = 1000 }; } var recordsToSkip = (filter.PageNumber - 1) * filter.PageSize; results = await _context.StockItem.Include(x => x.Image) .Include(x => x.StockAccessory) .Skip(recordsToSkip) .Take(filter.PageSize) .AsNoTracking().ToListAsync(); return(_mapper.Map <IEnumerable <Types.StockItem> >(results)); } catch (Exception ex) { // Log ex throw; } }