public string UpdateRetrieval(WCFRetrievalForm wcfr) { try { List <RetrieveForm> list = (List <RetrieveForm>)HttpContext.Current.Application["retrieveForm"]; RetrieveForm rf = list.Where(x => x.ItemCode == wcfr.ItemCode).First(); Stationery item = stationeryService.FindStationeryByItemCode(wcfr.ItemCode); if (wcfr.QtyRetrieved.Value > item.stockQty) { return("Value of Retrieved Qty cannot exceed Stock Qty."); } if (wcfr.QtyRetrieved > rf.Qty) { return("Value of Retrieved Qty cannot exceed requested qty."); } var index = list.FindIndex(x => x.description == wcfr.Description); list[index].retrieveQty = wcfr.QtyRetrieved; /* list[index].Qty -= wcfr.QtyRetrieved;*/ //reduce amount that is still pending retrieval HttpContext.Current.Application["retrieveForm"] = list; return("true"); } catch (Exception e) { String error = e.Message; return(error); } }
public static WCFRetrievalForm ConvertToWCFRetrieval(RetrieveForm retrieval) { WCFRetrievalForm wcfR = new WCFRetrievalForm(); wcfR.Description = retrieval.description; wcfR.Qty = retrieval.Qty; wcfR.QtyRetrieved = retrieval.retrieveQty; //wcfR.QtyAllocated = retrieval.allocatedQty; wcfR.ItemCode = retrieval.ItemCode; //add location to WCFRetrievalForm object StationeryModel entity = new StationeryModel(); wcfR.Location = entity.Stationeries.Where(x => x.description == retrieval.description).First().location; return(wcfR); }
public List <RetrieveForm> GetRetrieveFormByDateTime(DateTime?time) { StationeryModel entity = new StationeryModel(); List <Requisition_Record> rr = entity.Requisition_Records.Where(x => x.status == RequisitionStatus.APPROVED_PROCESSING || x.status == RequisitionStatus.PARTIALLY_FULFILLED).ToList(); List <RetrieveForm> retrieveList = new List <RetrieveForm>(); List <string> ItemCodes = new List <string>(); List <int?> Qty = new List <int?>(); foreach (var item in rr) { var list = item.Requisition_Detail.ToList(); foreach (var l in list) { if (!ItemCodes.Contains(l.itemCode)) { ItemCodes.Add(l.itemCode); } } } for (int i = 0; i < ItemCodes.Count; i++) { Qty.Add((int?)0); } for (int i = 0; i < ItemCodes.Count; i++) { foreach (var b in rr) { if ((b.Requisition_Detail.Where(x => x.itemCode == ItemCodes[i]).Count()) > 0 && (b.status == RequisitionStatus.APPROVED_PROCESSING || b.status == RequisitionStatus.PARTIALLY_FULFILLED)) { Qty[i] = Qty[i] + b.Requisition_Detail.Where(x => x.itemCode == ItemCodes[i]).First().qty - b.Requisition_Detail.Where(x => x.itemCode == ItemCodes[i]).First().fulfilledQty; } } } for (int i = 0; i < ItemCodes.Count; i++) { RetrieveForm rf = new RetrieveForm(); rf.ItemCode = ItemCodes[i]; rf.description = entity.Stationeries.Where(x => x.itemCode == rf.ItemCode).First().description; rf.Qty = Qty[i]; rf.retrieveQty = 0; rf.StockQty = entity.Stationeries.Where(x => x.itemCode == rf.ItemCode).First().stockQty; retrieveList.Add(rf); } return(retrieveList); }
public ActionResult GenerateRetrieveForm(FormCollection form, int?page) { DateTime? from = DateTime.Now; RetrieveForm rf = new RetrieveForm(); List <RetrieveForm> model = new List <RetrieveForm>(); Session["date"] = from; if (HttpContext.Application["retrieveList"] == null) { model = rs.GetRetrieveFormByDateTime(from); HttpContext.Application["retrieveList"] = model; } else { model = (List <RetrieveForm>)HttpContext.Application["retrieveList"]; } HttpContext.Application["page3"] = (page ?? 1); int pageSize = 8; int pageNumber = (page ?? 1); return(View(model.ToPagedList(pageNumber, pageSize))); }