public IHttpActionResult UpdateDisbursementDetailByItem(CustomRequisition[] requisitions) { for (int i = 0; i < requisitions.Length; i++) { CustomRequisition requisition = requisitions[i]; CustomItem item = requisition.CustomItems[0]; RequisitionDetail detail = db.RequisitionDetails.SingleOrDefault(r => r.RequisitionID == requisition.RequisitionID && r.ItemID == item.ItemID); detail.QuantityReceived = item.QuantityReceived; db.SaveChanges(); } return(Ok()); }
public IHttpActionResult GetRequisitionDetail(int id) { string employeeName = db.Requisitions.SingleOrDefault(r => r.RequisitionID == id).Employee.ToString(); CustomItem[] items = db.RequisitionDetails.Where(r => r.RequisitionID == id) .Select(r => new CustomItem { ItemID = r.ItemID, Description = r.Item.Description, Quantity = r.Quantity }).ToArray(); CustomRequisition customRequisition = new CustomRequisition { RequisitionID = id, EmployeeName = employeeName, CustomItems = items }; return(Ok(customRequisition)); }
public IHttpActionResult UpdateRequisition(CustomRequisition customRequisition) { int requisitionId = customRequisition.RequisitionID; int retrievalListId = FindCurrentRetrievalList().RetrievalListID; CustomItem[] items = customRequisition.CustomItems; for (int i = 0; i < items.Length; i++) { CustomItem item = items[i]; RequisitionDetail detail = db.RequisitionDetails.SingleOrDefault( r => r.RequisitionID == requisitionId && r.ItemID == item.ItemID); detail.QuantityReceived = item.QuantityReceived; if (item.QuantityReceived < detail.Quantity) { int departmentId = detail.Requisition.Employee.DepartmentID; RetrievalListDetail retrievalListDetail = db.RetrievalListDetails.SingleOrDefault( r => r.RetrievalListID == retrievalListId && r.DepartmentID == departmentId && r.ItemID == item.ItemID); if (retrievalListDetail == null) { retrievalListDetail = new RetrievalListDetail { RetrievalListID = retrievalListId, DepartmentID = departmentId, ItemID = item.ItemID, Quantity = detail.Quantity - item.QuantityReceived }; db.RetrievalListDetails.Add(retrievalListDetail); } else { retrievalListDetail.Quantity += (detail.Quantity - item.QuantityReceived); } RequisitionRetrieval requisitionRetrieval = db.RequisitionRetrievals.SingleOrDefault(r => r.RequisitionID == requisitionId); requisitionRetrieval.RetrievalListID = retrievalListId; } } db.SaveChanges(); return(Ok()); }