コード例 #1
0
        public ActionResult RemoveRequestItem(string itemCode, List <RaiseRequisitionViewModel> requestList)
        {
            RaiseRequisitionViewModel vm = requestList.Find(x => x.ItemCode == itemCode);
            string itemDescription       = vm.Description;

            requestList.Remove(vm);
            Session["RequestList"] = requestList;

            TempData["SuccessMessage"] = String.Format("{0} was removed.", itemDescription);

            return(RedirectToAction("NewRequisition"));
        }
コード例 #2
0
        public ActionResult AddNewRequestItem(string itemCode, int quantity, string searchString, int?page, string categoryID)
        {
            List <RaiseRequisitionViewModel> requestList = Session["RequestList"] as List <RaiseRequisitionViewModel>;

            if (requestList == null)
            {
                // to fix weird situation where when session start the list didnt initialize
                requestList            = new List <RaiseRequisitionViewModel>();
                Session["RequestList"] = requestList;
            }


            // Server side validation
            if (quantity < 1)
            {
                string addItemErrorMessage = String.Format("Quantity must be greater than or equal to 1.");
                TempData["ErrorMessage"] = addItemErrorMessage;
            }
            else
            {
                Stationery stationery = stationeryService.FindStationeryByItemCode(itemCode);

                RaiseRequisitionViewModel vm = new RaiseRequisitionViewModel();
                vm.Description = stationery.description;
                vm.ItemCode    = stationery.itemCode;
                vm.Quantity    = quantity;
                vm.UOM         = stationery.unitOfMeasure;

                bool contain = false;
                foreach (var request in requestList)
                {
                    if (request.ItemCode == vm.ItemCode)
                    {
                        request.Quantity += vm.Quantity;
                        contain           = true;
                        break;
                    }
                }
                if (!contain)
                {
                    requestList.Add(vm);
                }
                Session["RequestList"] = requestList;

                string addItemMessage = String.Format("{0} x {1} was added into requisition form.", vm.Quantity, vm.Description);
                TempData["SuccessMessage"] = addItemMessage;
            }

            ViewBag.SearchString = searchString;
            ViewBag.CategoryID   = categoryID;
            ViewBag.Page         = page;

            string path = Request.UrlReferrer.ToString();

            if (path.Contains("NewRequisition"))
            {
                return(RedirectToAction("NewRequisition"));
            }
            else
            {
                // to return to same search page after go back to catalogue
                return(RedirectToAction("BrowseCatalogue",
                                        new { searchString = searchString, categoryID = categoryID, page = page }));
            }
        }