コード例 #1
0
        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));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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; }
            }
        }