public IEnumerable <LotDto> GetAllLotsWithUsers(LotsFilterCriteria criteria) { if (criteria.Category == 0) // Skip default; { criteria.Category = null; } return(_lotRepository.GetAllLotsWithUsers(criteria).ToDto()); }
private IQueryable <Lot> GetLots(LotsFilterCriteria criteria) { var lots = FilterByCriteria(criteria); if (criteria.Page != 0) { return(lots.Skip((criteria.Page - 1) * criteria.PageSize).Take(criteria.PageSize)); } return(lots); }
public IActionResult Lots(int?category, string title, int page = 1, bool?active = null) { int pageSize = 4; var criteria = new LotsFilterCriteria() { Page = page, Category = category, Title = title, PageSize = pageSize, Active = active, UserId = UserId }; var lots = _lotsService.GetAllLots(criteria).ToVm(); var model = new LotsViewModel() { Lots = lots, Pagination = new PageViewModel(_lotsService.GetLotsCount(criteria), page, pageSize), Filter = new FilterViewModel(GetCategories(), title, category, active) }; return(View(model)); }
private IQueryable <Lot> FilterByCriteria(LotsFilterCriteria criteria) { var lots = _context.Lots.AsQueryable(); if (!string.IsNullOrEmpty(criteria.Title)) { lots = lots.Where(x => x.Name.Contains(criteria.Title)); } if (criteria.Category.HasValue) { lots = lots.Where(x => x.CategoryId == criteria.Category); } if (criteria.Active.HasValue) { lots = criteria.Active.Value ? lots.Where(x => x.ExpirationTime > DateTime.Now) : lots.Where(x => x.ExpirationTime < DateTime.Now); } if (criteria.UserId.HasValue) { lots = lots.Where(x => x.UserId == criteria.UserId); } return(lots); }
public int GetLotsCount(LotsFilterCriteria criteria) { return(_lotRepository.GetLotsCount(criteria)); }
public int GetLotsCount(LotsFilterCriteria criteria) { return(FilterByCriteria(criteria).Count()); }
public IEnumerable <Lot> GetAllLotsWithUsers(LotsFilterCriteria criteria) { return(GetLots(criteria).Include(x => x.User)); }
public IEnumerable <Lot> GetAllLots(LotsFilterCriteria criteria) => GetLots(criteria);