//remove removeReqDet by empId and reqId public static void removeReqDet(int empId, string itemCode, string status) { using (SA46Team08ADProjectContext entities = new SA46Team08ADProjectContext()) { List <RequestVM> rvmList = RequestBL.GetReq(empId, status); for (int i = 0; i < rvmList.Count; i++) { int reqId = rvmList[i].ReqId; RequestDetail rd = entities.RequestDetails.Where(x => x.ReqId == reqId && x.ItemCode == itemCode).FirstOrDefault(); entities.RequestDetails.Remove(rd); entities.SaveChanges(); } } }
//add RequestDetail with empId , reqDet and status public static RequestDetailVM AddReqDet(int empId, string itemCode, int reqQty, string status) { using (SA46Team08ADProjectContext entities = new SA46Team08ADProjectContext()) { RequestDetailVM rvm = new RequestDetailVM(); if (status == "Unsubmitted") { List <RequestVM> requestlists = RequestBL.GetReq(empId, status); RequestVM request = new RequestVM(); if (requestlists.Count == 0) { request = RequestBL.AddReq(empId, status); } else { request = requestlists[0]; } int reqId = request.ReqId; List <RequestDetail> rdList = entities.RequestDetails.Where(x => x.ReqId == reqId).ToList(); bool exist = false; for (int i = 0; i < rdList.Count; i++) { if (rdList[i].ItemCode == itemCode) { exist = true; rdList[i].ReqQty = rdList[i].ReqQty + reqQty; entities.SaveChanges(); rvm.ReqId = rdList[i].ReqId; rvm.ReqLineNo = rdList[i].ReqLineNo; rvm.ItemCode = rdList[i].ItemCode; rvm.ReqQty = rdList[i].ReqQty; rvm.AwaitQty = rdList[i].AwaitQty; rvm.FulfilledQty = rdList[i].FulfilledQty; } } if (exist == false) { RequestDetail rd = new RequestDetail(); rd.ReqId = reqId; rvm.ReqId = rd.ReqId; if (rdList.Count == 0) { rd.ReqLineNo = 0; } else { rd.ReqLineNo = rdList[rdList.Count - 1].ReqLineNo + 1; } rvm.ReqLineNo = rd.ReqLineNo; rd.ItemCode = itemCode; rvm.ItemCode = rd.ItemCode; rd.ReqQty = reqQty; rvm.ReqQty = rd.ReqQty; rd.AwaitQty = 0; rvm.AwaitQty = rd.AwaitQty; rd.FulfilledQty = 0; rvm.FulfilledQty = rd.FulfilledQty; entities.RequestDetails.Add(rd); entities.SaveChanges(); } } else if (status == "Bookmarked") { List <RequestVM> requestlists = RequestBL.GetReq(empId, status); RequestVM request = new RequestVM(); if (requestlists.Count == 0) { request = RequestBL.AddReq(empId, status); } else { request = requestlists[0]; } int reqId = request.ReqId; List <RequestDetail> rdList = entities.RequestDetails.Where(x => x.ReqId == reqId).ToList(); bool exist = false; for (int i = 0; i < rdList.Count; i++) { if (rdList[i].ItemCode == itemCode) { exist = true; rvm.ReqId = rdList[i].ReqId; rvm.ReqLineNo = rdList[i].ReqLineNo; rvm.ItemCode = rdList[i].ItemCode; rvm.ReqQty = rdList[i].ReqQty; rvm.AwaitQty = rdList[i].AwaitQty; rvm.FulfilledQty = rdList[i].FulfilledQty; } } if (exist == false) { RequestDetail rd = new RequestDetail(); rd.ReqId = reqId; rvm.ReqId = rd.ReqId; if (rdList.Count == 0) { rd.ReqLineNo = 0; } else { rd.ReqLineNo = rdList[rdList.Count - 1].ReqLineNo + 1; } rvm.ReqLineNo = rd.ReqLineNo; rd.ItemCode = itemCode; rvm.ItemCode = rd.ItemCode; rd.ReqQty = 0; rvm.ReqQty = rd.ReqQty; rd.AwaitQty = 0; rvm.AwaitQty = rd.AwaitQty; rd.FulfilledQty = 0; rvm.FulfilledQty = rd.FulfilledQty; entities.RequestDetails.Add(rd); entities.SaveChanges(); } } return(rvm); } }