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); }
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); }