public async Task <int> Add(AddInvoiceItemDto addInvoiceItemDto) { await ThrowExceptionIfProductNotExists(addInvoiceItemDto.WarehouseItemId); await ThrowExceptionIfInvoiceNotExists(addInvoiceItemDto.InvoiceId); await ThrowExceptionIfInvoiceItemIsAlreadyInInvoice(addInvoiceItemDto.WarehouseItemId, addInvoiceItemDto.InvoiceId); var warehouseItem = await _warehouseItemRepository.FindById(addInvoiceItemDto.WarehouseItemId); var invoiceItem = new InvoiceItem { Price = addInvoiceItemDto.Price, Count = addInvoiceItemDto.Count, InvoiceId = addInvoiceItemDto.InvoiceId, WarehouseItemId = addInvoiceItemDto.WarehouseItemId, WarehouseItem = warehouseItem }; await ThrowExceptionIfProductIsNotUpForSale(invoiceItem); _repository.Add(invoiceItem); await _unitOfWork.CompleteAsync(); return(invoiceItem.Id); }
public async Task <int> Add(AddInvoiceItemDto addInvoiceItemDto) { return(await _service.Add(addInvoiceItemDto)); }