public static bool IsValid(this PurchaseOrderCreateRequest request, PurchaseOrderItem inventory) { if (inventory == null || (inventory.Quantity < request.Quantity)) { return(false); } return(true); }
// buy value // no need as we will be doing it in ui public async Task <bool> Buy(PurchaseOrderCreateRequest buyRequest, CancellationToken token = default) { return(await Task.Run(() => { return _inventoryStore.Create(new PurchaseOrderItem { Name = buyRequest.Name, Quantity = buyRequest.Quantity, }); })); }
// create purchase order public async Task <bool> CreatePurchaseOrderAsync(PurchaseOrderCreateRequest createRequest, CancellationToken token = default) { if (createRequest.OrderType == PurchaseOrderType.Buy) { return(await Buy(createRequest, token)); } else { return(await Sell(createRequest, token)); } }
public async Task <IActionResult> CreatePurchaseOrder(PurchaseOrderCreateRequest purchaseOrderCreateRequest, CancellationToken token) { if (ModelState.IsValid) { return(View(nameof(CreatePurchaseOrder), purchaseOrderCreateRequest)); } var itemId = await _purchaseOrderRepository.CreatePurchaseOrderAsync(purchaseOrderCreateRequest, token); return(RedirectToAction(nameof(EditPurchaseOrder), new { Id = itemId })); }
// sell value public async Task <bool> Sell(PurchaseOrderCreateRequest sellRequest, CancellationToken token = default) { return(await Task.Run(() => { return _inventoryStore.TryRemove(new PurchaseOrderItem { Id = sellRequest.ItemId, Name = sellRequest.Name, Quantity = sellRequest.Quantity, }); })); }