public async Task <ActionResult> CancelPO(PurchaseOrderCancelVM vm) { var purchaseOrder = await FindAsyncPurchaseOrder(vm.Id); if (purchaseOrder == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } if (!string.IsNullOrEmpty(vm.CancellationReason) && vm.Cancelled) { purchaseOrder.CancellationReason = vm.CancellationReason; CancelCancellation(purchaseOrder); foreach (var item in purchaseOrder.Processes) { item.CancellationReason = vm.CancellationReason; CancelCancellation(item); } await DataContext.SaveChangesAsync(this); return(RedirectToAction("Details", new { id = purchaseOrder.Id })); } var poVM = new PurchaseOrderCancelVM(purchaseOrder); return(View(poVM)); }
public async Task <ActionResult> CancelPO(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var purchaseOrder = await FindAsyncPurchaseOrder(id.Value); if (purchaseOrder == null) { return(HttpNotFound()); } if (purchaseOrder.Cancelled) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var purchaseOrderVM = new PurchaseOrderCancelVM(purchaseOrder); await PutCanUserInViewBag(); return(View(purchaseOrderVM)); }