public virtual ActionResult ConfirmSuspenseCarton(CartonViewModel model) { //TC 32 : Scan ! on confir suspense screen if (model.ConfirmCartonId == "1") { this.AddStatusMessage(string.Format("Carton {0} put in suspense.", model.CartonIdToPick)); _repos.Value.MarkCartonInSuspense(model.CartonIdToPick); } else { this.AddStatusMessage(string.Format("The carton {0} was not put in suspense.", model.CartonIdToPick)); } model.SuspenseFlag = true; return(RedirectToAction(MVC_BoxPick.BoxPick.Home.AcceptCarton() .AddRouteValue(model.NameFor(m => m.ScannedCartonId), model.ScannedCartonId) .AddRouteValue(model.NameFor(m => m.SuspenseFlag), model.SuspenseFlag))); }
public virtual ActionResult AcceptPalletInCarton(CartonViewModel model) { Contract.Requires(this.ModelState.IsValid, "Attributes should prevent invalid model from invoking this action"); var fieldName = model.NameFor(m => m.ScannedCartonId); return(BeginPartialPickPallet(model, fieldName, Views.Carton)); }
public virtual ActionResult AcceptCarton(CartonViewModel model) { Contract.Requires(this.ModelState.IsValid, "Attributes should prevent invalid model from invoking this action"); //TC12 : Scan null Or empty enter in Carton Text box on carton page. if (string.IsNullOrWhiteSpace(model.ScannedCartonId)) { // Clear existing carton if any return(View(Views.Carton, model)); } //TC13 : Enter S on textbox on carton page. if (model.ScannedCartonId == "S" || model.ScannedCartonId == "s") { return(RedirectToAction(MVC_BoxPick.BoxPick.Confirm.SkipUcc())); } model.ScannedCartonId = model.ScannedCartonId.ToUpper(); // Validate carton. If box is returned as null then carton was not pickable. var box = _repos.Value.GetBoxForCarton(model.ScannedCartonId, model.CurrentPalletId, model.UccIdToPick); //TC14 : If no information of scanned carton found // Check whether the scanned carton can be placed in current pallet. if (box == null) { ModelState.AddModelError(model.NameFor(m => m.ScannedCartonId), "Carton cannot be picked for this pallet"); } if (!ModelState.IsValid) { //Bad carton return(View(Views.Carton, model)); } //TODO : Needs to define if (!model.SuspenseFlag && model.CurrentLocationId != box.AssociatedCarton.LocationId && !string.IsNullOrEmpty(model.CartonIdToPick)) { // Now carton is being picked from another location. Ask to mark it in suspense. return(RedirectToAction(MVC_BoxPick.BoxPick.Confirm.Actions.SuspenseCarton(model.ScannedCartonId))); } var uvm = new UccViewModel(this.HttpContext.Session); uvm.SetLastCartonAndLocation(box.AssociatedCarton.CartonId, box.AssociatedCarton.LocationId); switch (model.PickMode) { //TC16 : When Pickmode of pallet is ADR case PickModeType.ADR: uvm.ScannedUccId = box.UccId; return(AcceptUcc(uvm)); //TC17 : When Pickmode of pallet is ADREPPWSS case PickModeType.ADREPPWSS: return(View(Views.Ucc, uvm)); default: throw new NotImplementedException(); } }
public virtual ActionResult AcceptUccInCarton(CartonViewModel model) { Contract.Requires(this.ModelState.IsValid, "Attributes should prevent invalid model from invoking this action"); var fieldName = model.NameFor(m => m.ScannedCartonId); //TC18 : Scan a UCC to skip that is not expected to get picked. if (model.UccIdToPick != model.ScannedCartonId) { ModelState.AddModelError(fieldName, string.Format("Can only skip the current UCC {0}.", model.UccIdToPick)); return(View(Views.Carton, model)); } return(RedirectToAction(MVC_BoxPick.BoxPick.Confirm.SkipUcc())); }