public DisbursementViewModel GenerateSingleDisbursementViewModel(string disburseID, HttpSessionStateBase session) { Dictionary <string, string> empList = (Dictionary <string, string>)session["EmployeeList"]; Requisition req = db.Requisitions.Where(x => x.disbursementId == disburseID).First(); DisbursementViewModel dvm = new DisbursementViewModel(); dvm.dvmdList = new List <DisbursementViewModelDetail>(); //Initialise dvm dvm.disbursementID = req.disbursementId; dvm.requestorDeptID = req.departmentId; dvm.deptID = req.departmentId; dvm.repName = session["EmployeeID"].ToString(); dvm.requestorName = req.employee; dvm.status = db.Disbursements.Where(x => x.disbursementId == req.disbursementId).First().status; dvm.collectionPoint = db.DeptCollectionDetails.Where(x => x.departmentId == req.departmentId).First().collectionPoint; dvm.collectionTime = db.CollectionPoints.Where(x => x.locationName == dvm.collectionPoint).First().collectTime; dvm.disburseDate = db.Disbursements.Where(x => x.disbursementId == req.disbursementId).First().disburseDate; //pack reqdet into dvmd foreach (RequisitionDetail reqdet in req.RequisitionDetails) { DisbursementViewModelDetail dvmd = new DisbursementViewModelDetail(); dvmd.requestorID = req.employee; dvmd.requestorName = empList[req.employee].ToString(); dvmd.requisitionID = req.requisitionId; dvmd.itemID = reqdet.itemId; dvmd.itemDescription = db.Catalogues.Find(reqdet.itemId).description; dvmd.retrievalID = req.retrievalId; dvmd.requestQty = reqdet.requestQty; dvmd.retrieveQty = reqdet.retrieveQty; dvm.dvmdList.Add(dvmd); } return(dvm); }
public List <DisbursementViewModel> GenerateDisbursementViewModels(string retrievalID, HttpSessionStateBase session) { List <DisbursementViewModel> disburseVMList = new List <DisbursementViewModel>(); List <Requisition> requisitions = db.Requisitions.Where(x => x.retrievalId == retrievalID).ToList(); Dictionary <string, string> empList = (Dictionary <string, string>)session["EmployeeList"]; foreach (Requisition req in requisitions) { DisbursementViewModel dvm = new DisbursementViewModel(); dvm.dvmdList = new List <DisbursementViewModelDetail>(); //Initialise dvm if not created if (!disburseVMList.Where(x => x.disbursementID == req.disbursementId).Any()) { dvm.disbursementID = req.disbursementId; dvm.requestorDeptID = req.departmentId; dvm.status = db.Disbursements.Where(x => x.disbursementId == req.disbursementId).First().status; dvm.repName = db.DeptCollectionDetails.Where(x => x.departmentId == req.departmentId).First().representative; dvm.collectionPoint = db.DeptCollectionDetails.Where(x => x.departmentId == req.departmentId).First().collectionPoint; dvm.collectionTime = db.CollectionPoints.Where(x => x.locationName == dvm.collectionPoint).First().collectTime; dvm.disburseDate = db.Disbursements.Where(x => x.disbursementId == req.disbursementId).First().disburseDate; dvm.adjustmentID = db.Disbursements.Where(x => x.disbursementId == req.disbursementId).First().adjustmentID; disburseVMList.Add(dvm); } else { dvm = disburseVMList.Find(x => x.disbursementID == req.disbursementId); } //pack reqdet into dvmd foreach (RequisitionDetail reqdet in req.RequisitionDetails) { DisbursementViewModelDetail dvmd = new DisbursementViewModelDetail(); dvmd.requestorID = req.employee; dvmd.requestorName = empList[req.employee].ToString(); dvmd.requisitionID = req.requisitionId; dvmd.itemID = reqdet.itemId; dvmd.itemDescription = db.Catalogues.Find(reqdet.itemId).description; dvmd.retrievalID = req.retrievalId; dvmd.requestQty = reqdet.requestQty; dvmd.retrieveQty = reqdet.retrieveQty; AdjustmentDetail adjustmentDetail = db.AdjustmentDetails.Where(w => w.voucherId == dvm.adjustmentID && w.itemId == dvmd.itemID).FirstOrDefault(); if (adjustmentDetail != null) { dvmd.adjQty = adjustmentDetail.quantity; } dvm.dvmdList.Add(dvmd); } } return(disburseVMList); }