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")); }
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 })); } }