Beispiel #1
0
        public async Task <IActionResult> Add(AddPurchaseDto purchaseDto)
        {
            var result = await purchaseService.BuyBook(purchaseDto, new CancellationToken());

            if (result.Status == ActionStatus.Failure)
            {
                return(BadRequest());
            }
            return(Ok(result.Purchase));
        }
Beispiel #2
0
        public async Task <int> Add(AddPurchaseDto addPurchaseDto)
        {
            var purchase = new Purchase
            {
                Count         = addPurchaseDto.Count,
                InvoiceNumber = addPurchaseDto.InvoiceNumber,
                PurchaseDate  = addPurchaseDto.PurchaseDate,
                ProductId     = addPurchaseDto.ProductId
            };

            var warehouseItem = await _warehouseItemRepository.FindByProductId(addPurchaseDto.ProductId);

            ThrowExceptionIfWarehouseItemNotExists(addPurchaseDto.ProductId, warehouseItem);

            await ThrowExceptionIfInvoiceNumberAlreadyExists(addPurchaseDto.InvoiceNumber);

            warehouseItem.Stock += purchase.Count;

            _repository.Add(purchase);
            await _unitOfWork.CompleteAsync();

            return(purchase.Id);
        }
 public async Task <int> Add(AddPurchaseDto addPurchaseDto)
 {
     return(await _service.Add(addPurchaseDto));
 }