public ActionResult UpdateRetrievalList(RetrievalFormViewModel retrievalFormViewModel)
        {
            List <DeptRequestedItems> DeptList;
            DisplayRetrievalForm      dis = new DisplayRetrievalForm();
            RetrievalFormViewModel    ret = dis.DisplayRetrieval();

            DeptList = ret.deptRequestedItems;
            UpdateDisbursementList d = new UpdateDisbursementList();

            d.UpdateDisbursement(DeptList, retrievalFormViewModel);
            db.SaveChanges();
            return(RedirectToAction("DisburmentList"));
        }
        public void UpdateDisbursement(List <DeptRequestedItems> DeptList, RetrievalFormViewModel retrievalFormViewModel)
        {
            List <DisbursementList> disburseDeptList = new List <DisbursementList>();
            List <int> deptId = new List <int>();

            foreach (var j in DeptList)
            {
                List <DisburseItem> disburseList    = new List <DisburseItem>();
                DisburseItem        disburseItemObj = new DisburseItem();
                disburseItemObj.ItemId = j.itemId;
                foreach (var f in retrievalFormViewModel.deptRequestedItems)
                {
                    if ((j.itemId == f.itemId) && (j.DeptId == f.DeptId))
                    {
                        disburseItemObj.DisburseQty = f.ActualDeliveredQtyForEachItem;
                    }
                }

                db.DisburseItems.Add(disburseItemObj);
                disburseList.Add(disburseItemObj);
                if (deptId.Contains(j.DeptId))
                {
                    var disburseDept = db.DisbursementLists.SingleOrDefault(m => m.DeptId == j.DeptId);
                    disburseDept.DisburseItems.Add(disburseItemObj);
                    disburseDept.DisbursementListDate = DateTime.Now;
                }
                else
                {
                    deptId.Add(j.DeptId);
                    DisbursementList disburseListObj = new DisbursementList();
                    disburseListObj.DeptId               = j.DeptId;
                    disburseListObj.DisburseItems        = disburseList;
                    disburseListObj.DisbursementListDate = DateTime.Now;
                    disburseListObj.Status               = "pending";
                    disburseListObj = db.DisbursementLists.Add(disburseListObj);
                }
                db.SaveChanges();
            }
        }
Exemplo n.º 3
0
        public RetrievalFormViewModel DisplayRetrieval()
        {
            var stockDetails = db.Stockdetails.Include(l => l.item).ToList();
            var reqs         = db.ConsolidatedRequisitions.Include(i => i.CollectionOfReq.Select(it => it.Item))
                               .Where(k => k.ConsolidatedRequisitionStatus == "Approved").ToList();

            List <int> ItemIdList = new List <int>();
            List <DeptRequestedItems> DeptList           = new List <DeptRequestedItems>();
            List <StoreRetrievalList> StoreRetrievalList = new List <StoreRetrievalList>();

            foreach (var f in reqs)
            {
                foreach (var r in f.CollectionOfReq)
                {
                    if (ItemIdList.Contains(r.ItemId))
                    {
                        var StoreRetrieval = StoreRetrievalList.Find(m => m.ItemId == r.ItemId);

                        DeptRequestedItems deptRequested = new DeptRequestedItems();
                        ItemIdList.Add(r.ItemId);
                        deptRequested.DeptId = f.deptId;
                        deptRequested.itemId = r.ItemId;
                        deptRequested.DeptRequestedQtyForEachItem   = r.TotalRequestedQty;
                        deptRequested.ActualDeliveredQtyForEachItem = 0;

                        StoreRetrieval.TotalNeededQty += r.TotalRequestedQty;

                        StoreRetrieval.DeptRequestedItems.Add(deptRequested);
                    }
                    else
                    {
                        var storeRetrieval = new StoreRetrievalList();

                        DeptRequestedItems deptRequested = new DeptRequestedItems();
                        ItemIdList.Add(r.ItemId);
                        deptRequested.DeptId = f.deptId;
                        deptRequested.itemId = r.ItemId;
                        deptRequested.DeptRequestedQtyForEachItem   = r.TotalRequestedQty;
                        deptRequested.ActualDeliveredQtyForEachItem = 0;
                        db.DeptRequestedItems.Add(deptRequested);
                        db.SaveChanges();
                        DeptList.Add(deptRequested);

                        foreach (var item in stockDetails)
                        {
                            if (item.ItemId == r.ItemId)
                            {
                                storeRetrieval.StockQty = item.InventoryStockQty;
                            }
                        }

                        storeRetrieval.ItemId             = r.ItemId;
                        storeRetrieval.TotalNeededQty     = r.TotalRequestedQty;
                        storeRetrieval.DeptRequestedItems = DeptList;
                        StoreRetrievalList.Add(storeRetrieval);
                    }
                }
            }
            RetrievalFormViewModel retrievalFormView = new RetrievalFormViewModel
            {
                storeRetrievalLists = StoreRetrievalList,
                deptRequestedItems  = DeptList,
            };

            db.SaveChanges();
            return(retrievalFormView);
        }