public IHttpActionResult UpdatePurchaseOrder([FromBody] CustomPurchaseOrder purchaseOrder) { CustomItem[] customItems = purchaseOrder.CustomItems; Debug.WriteLine(purchaseOrder.OrderID); int orderId = purchaseOrder.OrderID; for (int i = 0; i < customItems.Count(); i++) { CustomItem customItem = customItems[i]; PurchaseOrderDetail purchaseOrderDetail = db.PurchaseOrderDetails.SingleOrDefault( r => r.ItemID == customItem.ItemID && r.OrderID == orderId); if (purchaseOrderDetail == null) { return(NotFound()); } else { purchaseOrderDetail.QuantityReceived = customItem.QuantityReceived; db.SaveChanges(); } } PurchaseOrder order = db.PurchaseOrders.SingleOrDefault(p => p.PurchaseOrderID == purchaseOrder.OrderID); List <PurchaseOrderDetail> orderDetails = order.PurchaseOrderDetails.ToList(); bool isCompleted = true; bool isIncomplete = false; for (int i = 0; i < orderDetails.Count(); i++) { if (orderDetails[i].QuantityReceived > 0) { isIncomplete = true; } if (orderDetails[i].QuantityReceived < orderDetails[i].Quantity) { isCompleted = false; } } if (isCompleted) { order.OrderStatus = OrderStatus.Completed; } else if (isIncomplete) { order.OrderStatus = OrderStatus.Incompleted; } db.SaveChanges(); return(Ok()); }
public IHttpActionResult GetPurchaseOrderDetail(int id) { PurchaseOrder order = db.PurchaseOrders.SingleOrDefault(p => p.PurchaseOrderID == id); CustomPurchaseOrder customPurchaseOrder = new CustomPurchaseOrder { OrderID = order.PurchaseOrderID, OrderDate = order.OrderDate.ToString("dd/MM/yyyy"), SupplierName = order.Supplier.SupplierName, Status = order.OrderStatus.ToString(), CustomItems = GetItemsForOrder(id) }; return(Ok(customPurchaseOrder)); }