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