Пример #1
0
 //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();
         }
     }
 }
Пример #2
0
        //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);
            }
        }