public List <RetrievalBO> getCombinedRetrievalBOsByStatus(string statusPar) { string status = null; if (statusPar == "Unfullfill Orders") { status = "Unfulfilled"; } else if (statusPar == "New Orders") { status = "New"; } context = new ADTeam1Entities(); List <RetrievalBO> retrievalBOs = new List <RetrievalBO>(); List <Requisition_Item> requisition_Items = context.Requisition_Item.Where(x => x.Status == status && x.Requisition.Status == "Approved").GroupBy(x => x.ItemID).Select(x => x.FirstOrDefault()).ToList(); //find Requisition_Item list group by ItemID foreach (Requisition_Item r_Item in requisition_Items) { RetrievalBO retrievalBO = new RetrievalBO(); Item item = r_Item.Item; retrievalBO.Bin = item.Bin; retrievalBO.ItemNumber = item.ItemNumber; retrievalBO.Description = item.Description; retrievalBO.UOM = item.UnitOfMeasure; retrievalBO.InStock = (int)item.InStockQty; retrievalBO.Requested = (int)context.Requisition_Item.Where(x => x.Status == status && x.Requisition.Status == "Approved" && x.ItemID == r_Item.ItemID).Sum(x => x.RequestedQty); // retrieve the sum of unfulfilledQutity group by ItemID retrievalBO.Unfulfilled = (int)context.Requisition_Item.Where(x => x.Status == status && x.Requisition.Status == "Approved" && x.ItemID == r_Item.ItemID).Sum(x => x.UnfulfilledQty); retrievalBO.ToRetrieve = (int)context.Requisition_Item.Where(x => x.Status == status && x.Requisition.Status == "Approved" && x.ItemID == r_Item.ItemID).Sum(x => x.ToRetrieveQty); retrievalBOs.Add(retrievalBO); } return(retrievalBOs); }
public List <RetrievalBO> getRetrievalBOsByStatusAndItemNumber(string statusPar, string itemNumber)//get spec itemNumber Retrievals divided by each department { string status = null; if (statusPar == "Unfullfill Orders") { status = "Unfulfilled"; } else if (statusPar == "New Orders") { status = "New"; } context = new ADTeam1Entities(); List <RetrievalBO> retrievalBOs = new List <RetrievalBO>(); List <Requisition_Item> requisition_Items = context.Requisition_Item.Where(x => x.Status == status && x.Item.ItemNumber == itemNumber && x.Requisition.Status == "Approved").ToList(); foreach (Requisition_Item r_Item in requisition_Items) { RetrievalBO retrievalBO = new RetrievalBO(); Item item = r_Item.Item; retrievalBO.Bin = item.Bin; retrievalBO.ItemNumber = item.ItemNumber; retrievalBO.Description = item.Description; retrievalBO.UOM = item.UnitOfMeasure; retrievalBO.InStock = (int)item.InStockQty; retrievalBO.DepartmentID = (int)r_Item.Requisition.DepartmentID; retrievalBO.Requested = (int)r_Item.RequestedQty; retrievalBO.Unfulfilled = (int)r_Item.UnfulfilledQty; retrievalBO.ToRetrieve = (int)r_Item.ToRetrieveQty; retrievalBO.DepartmentName = r_Item.Requisition.Department.DepartmentName; retrievalBO.RequisitionItemID = r_Item.Requisition_ItemID; retrievalBOs.Add(retrievalBO); } return(retrievalBOs); }
protected void btnConfirm_Click(object sender, EventArgs e) { try { List <RetrievalBO> confirmedRetrievals = new List <RetrievalBO>(); bool validate = true; for (int i = 0; i < ckbList.Count; i++) { int index = ckbList[i]; RetrievalBO confirmedRetrievalBO = new RetrievalBO(); confirmedRetrievalBO = retrievals[index]; confirmedRetrievalBO.Status = "Pending"; confirmedRetrievals.Add(confirmedRetrievalBO); if (toRetrieveList[i] == 0) { validate = false; } } if (validate) { retrievalBL.addDisbursementItem(confirmedRetrievals, status).ToString(); retrievalBL.updateRetrievalBOsStatus(confirmedRetrievals, status).ToString(); Response.Redirect("RetrievalPage.aspx?status=" + status); } else { LblValidate.Text = "must allocate before retrieve"; } }catch (Exception ex) { Console.Write(ex.ToString()); } }