示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }