コード例 #1
0
        public async Task <ProductItemDto[]> Handle(GetProductItemsQuery request, CancellationToken cancellationToken)
        {
            if (!Guid.TryParse(_principal.GetUserID(), out var userID))
            {
                throw new BusinessException($"{nameof(userID)} is invalid");
            }

            var productItems = await _repository.GetAsync(userID, cancellationToken);

            var result = productItems
                         .Select(pi => new ProductItemDto
            {
                ID        = pi.ID,
                Name      = pi.Name,
                Price     = pi.Price,
                Quantity  = pi.Quantity,
                Sum       = pi.Sum,
                NDS       = pi.NDS,
                ProductID = pi.ProductID,
                ReceiptID = pi.ReceiptID
            })
                         .ToArray();

            return(result);
        }
コード例 #2
0
        public async Task <ProductItemDto> Handle(GetProductItemQuery request, CancellationToken cancellationToken)
        {
            if (request.ID <= 0)
            {
                throw new ValidationException($"{nameof(request.ID)} is invalid");
            }

            if (!Guid.TryParse(_principal.GetUserID(), out var userID))
            {
                throw new BusinessException($"{nameof(userID)} is invalid");
            }

            var productItem = await _repository.GetAsync(request.ID, userID, cancellationToken);

            if (productItem == null)
            {
                throw new BusinessException("ProductItem is not exists!");
            }

            var result = new ProductItemDto
            {
                ID        = productItem.ID,
                Name      = productItem.Name,
                Price     = productItem.Price,
                Quantity  = productItem.Quantity,
                Sum       = productItem.Sum,
                NDS       = productItem.NDS,
                ProductID = productItem.ProductID,
                ReceiptID = productItem.ReceiptID
            };

            return(result);
        }