public IHttpActionResult UpdateRetrievalListByItem(CustomRetrievalList customRetrievalList) { RetrievalList retrievalList = FindCurrentRetrievalList(); if (retrievalList == null) { return(NotFound()); } int retrievalListId = retrievalList.RetrievalListID; CustomRetrievalListDetail[] retrievalListDetails = customRetrievalList.RetrievalListDetails; int itemId = customRetrievalList.ItemID; for (int i = 0; i < retrievalListDetails.Length; i++) { CustomRetrievalListDetail customDetail = retrievalListDetails[i]; RetrievalListDetail detail = db.RetrievalListDetails.SingleOrDefault( r => r.RetrievalListID == retrievalListId && r.ItemID == itemId && r.DepartmentID == customDetail.DepartmentID); detail.QuantityOffered = customDetail.QuantityOffered; } db.SaveChanges(); return(Ok()); }
public IHttpActionResult UpdateDisbursementList(CustomDisbursementList disbursementList) { int retrievalListId = FindCurrentRetrievalList().RetrievalListID - 1; int departmentId = disbursementList.DepartmentID; CustomItem[] customItems = disbursementList.CustomItems; for (int i = 0; i < customItems.Count(); i++) { CustomItem customItem = customItems[i]; RetrievalListDetail retrievalListDetail = db.RetrievalListDetails.SingleOrDefault( r => r.DepartmentID == departmentId && r.ItemID == customItem.ItemID && r.RetrievalListID == retrievalListId); retrievalListDetail.QuantityReceived = customItem.QuantityReceived; } db.SaveChanges(); return(Ok()); }
//Incompleted requisitions transfer to next Retrieval list public void IncompletedRequisitionTransferToRetrieval(Requisition requisition, RetrievalList retrievalList) { int departmentId = requisition.Employee.DepartmentID; List <RequisitionDetail> requisitionDetails = this.GetIncompletedDetails(requisition); if (this.ContainsDepartment(departmentId, retrievalList)) { foreach (var item in requisitionDetails) { //if(this.RetrievalListDetailContainItem(item.ItemID, retrievalList.RetrievalListDetails.Where(x => x.DepartmentID == departmentId).ToList())) //{ RetrievalListDetail retrievalListDetail = retrievalList.RetrievalListDetails.Where(x => x.DepartmentID == departmentId).Where(x => x.ItemID == item.ItemID).SingleOrDefault(); if (retrievalListDetail != null) { retrievalListDetail.Quantity += (item.Quantity - item.QuantityReceived); } //} else { RetrievalListDetail newRetrieval = new RetrievalListDetail(); newRetrieval.DepartmentID = departmentId; newRetrieval.ItemID = item.ItemID; newRetrieval.Quantity = item.Quantity - item.QuantityReceived; newRetrieval.RetrievalListID = retrievalList.RetrievalListID; retrievalList.RetrievalListDetails.Add(newRetrieval); } } } else { foreach (var item in requisitionDetails) { RetrievalListDetail newRetrievalListDetail = new RetrievalListDetail(); newRetrievalListDetail.DepartmentID = departmentId; newRetrievalListDetail.ItemID = item.ItemID; newRetrievalListDetail.Quantity = item.Quantity; newRetrievalListDetail.RetrievalListID = retrievalList.RetrievalListID; retrievalList.RetrievalListDetails.Add(newRetrievalListDetail); } } }
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()); }
public IHttpActionResult ApproveRequisition(int id) { Requisition requisition = db.Requisitions.SingleOrDefault(r => r.RequisitionID == id); requisition.Status = Status.Approved; int deptId = requisition.Employee.DepartmentID; List <RequisitionDetail> details = requisition.RequisitionDetails.ToList(); int retrievalListId = FindCurrentRetrievalList().RetrievalListID; db.RequisitionRetrievals.Add(new RequisitionRetrieval { RequisitionID = requisition.RequisitionID, RetrievalListID = retrievalListId }); db.SaveChanges(); for (int i = 0; i < details.Count(); i++) { RequisitionDetail detail = details[i]; RetrievalListDetail retrievalListDetail = db.RetrievalListDetails.SingleOrDefault( r => r.RetrievalListID == retrievalListId && r.DepartmentID == deptId && r.ItemID == detail.ItemID ); if (retrievalListDetail == null) { retrievalListDetail = new RetrievalListDetail { RetrievalListID = retrievalListId, DepartmentID = deptId, ItemID = detail.ItemID, Quantity = detail.Quantity }; db.RetrievalListDetails.Add(retrievalListDetail); } else { retrievalListDetail.Quantity += detail.Quantity; } db.SaveChanges(); } return(Ok()); }