public IActionResult GetWaitingItems(SearchCriteriaDTO searchDTO, WaitingItemsOrderBy orderBy = WaitingItemsOrderBy.Name) { var userId = User.FindFirst(ClaimTypes.NameIdentifier).Value; searchDTO.UserId = userId; var result = _itemService.GetWaitingItems(orderBy, searchDTO); return(Json(result)); }
public PagedWaitingItemsDTO GetWaitingItems(WaitingItemsOrderBy orderBy, SearchCriteriaDTO searchDTO) { var c = searchDTO; var orderSpec = new OrderWaitingItemSpecyfication(orderBy); var predicateSpec = new ItemSpecyfication(Status.Waiting, searchDTO.UserId, searchDTO.Phrase); var items = _unitOfWork.ItemRepo.GetSortedItems(predicateSpec, orderSpec); List <Item> list = items.Skip((c.PageIndex - 1) * c.AmountOfPages).Take(c.AmountOfPages).ToList(); var result = new PagedWaitingItemsDTO() { TotalAmount = items.Count(), Items = _mapper.Map <List <Item>, List <WaitingItemDTO> >(list) }; return(result); }
public OrderWaitingItemSpecyfication(WaitingItemsOrderBy orderBy) { _orderBy = orderBy; switch (_orderBy) { case WaitingItemsOrderBy.BuyNowPrice: { _expression = (x => x.ConstPrice); break; } case WaitingItemsOrderBy.Payment: { _expression = (x => x.Payment.Name); break; } default: { _expression = (x => x.Name); break; } } }