Exemple #1
0
        public RunStopPackingActionParameters Translate(PackStationOverviewViewParameters packStationOverviewParameters)
        {
            RunStopPackingActionParameters runStopPackingActionParameters = new RunStopPackingActionParameters();

            runStopPackingActionParameters.WarehouseId      = UserSessionService.WarehouseId;
            runStopPackingActionParameters.UserId           = packStationOverviewParameters.UserId;
            runStopPackingActionParameters.DepartureId      = packStationOverviewParameters.DepartureId;
            runStopPackingActionParameters.ShipToCustomerId = packStationOverviewParameters.ShipToCustomerId;
            runStopPackingActionParameters.ClientId         = UserSessionService.ClientId;

            return(runStopPackingActionParameters);
        }
Exemple #2
0
        public override bool PackStationOverviewRunStopPackingCondition_CanExecute(string action, WorkItem context, object caller, object target)
        {
            PackStationOverviewViewParameters viewParameters = null;

            if (context.Items.FindByType <PackStationOverviewViewParameters>().Count() > 0)
            {
                viewParameters = context.Items.FindByType <PackStationOverviewViewParameters>().Last();
            }
            else
            {
                viewParameters = new PackStationOverviewViewParameters();
            }


            if (string.IsNullOrEmpty(viewParameters.PickZoneId) && !string.IsNullOrEmpty(viewParameters.DepartureId) && !string.IsNullOrEmpty(viewParameters.ShipToCustomerId) && !string.IsNullOrEmpty(viewParameters.UserId))
            {
                IActionCatalogService actionCatalog = context.Services.Get <IActionCatalogService>(true);

                RunStopPackingActionParameters actionParameters = null;
                bool isItemSelected = false;

                if (context.Items.FindByType <PackStationOverviewViewResult>().Count > 0)
                {
                    isItemSelected = true;
                }

                PackStationOverviewViewToRunStopPackingActionTranslator translator = null;

                if (context.Items.FindByType <PackStationOverviewViewToRunStopPackingActionTranslator>().Count > 0)
                {
                    translator = context.Items.FindByType <PackStationOverviewViewToRunStopPackingActionTranslator>().Last();
                }
                else
                {
                    translator = context.Items.AddNew <PackStationOverviewViewToRunStopPackingActionTranslator>();
                }

                actionParameters = translator.Translate(new PackStationOverviewViewParameters());
                actionParameters.IsItemSelected          = isItemSelected;
                actionParameters.IsMultipleItemsSelected = false;

                return(actionCatalog.CanExecute(ActionNames.RunStopPacking, context, caller, actionParameters));
            }

            return(false);
        }
        public override void OnPackStationOverviewRunStopPacking(WorkItem context, object caller, object target)
        {
            WorkItem wi = GetModuleWorkItem(context);

            if (wi.Items.FindByType <RunStopPackingAction>().Count == 0)
            {
                wi.Items.AddNew <RunStopPackingAction>();
            }

            PackStationOverviewViewParameters viewParameters   = null;
            RunStopPackingActionParameters    actionParameters = null;
            PackStationOverviewViewToRunStopPackingActionTranslator translator = null;
            bool isItemSelected = false;

            if (context.Items.FindByType <PackStationOverviewViewToRunStopPackingActionTranslator>().Count > 0)
            {
                translator = context.Items.FindByType <PackStationOverviewViewToRunStopPackingActionTranslator>().Last();
            }
            else
            {
                translator = context.Items.AddNew <PackStationOverviewViewToRunStopPackingActionTranslator>();
            }

            if (context.Items.FindByType <PackStationOverviewViewParameters>().Count() > 0)
            {
                viewParameters = context.Items.FindByType <PackStationOverviewViewParameters>().Last();
                isItemSelected = true;
            }
            else
            {
                viewParameters = new PackStationOverviewViewParameters();
            }


            actionParameters = translator.Translate(viewParameters);
            actionParameters.IsItemSelected          = isItemSelected;
            actionParameters.IsMultipleItemsSelected = false;

            IPackStationOverviewView     view = context.SmartParts.FindByType <PackStationOverviewView>().Last();
            PackStationOverviewPresenter overviewPresenter = context.Items.FindByType <PackStationOverviewPresenter>().Last();

            try
            {
                if (!view.Validate())
                {
                    return;
                }

                ActionCatalog.Execute(ActionNames.RunStopPacking, context, caller, actionParameters);

                // Check if view should be closed.
                bool ignoreClosing = ((context.Items.Get("IgnoreClose") != null) &&
                                      ((bool)(context.Items.Get("IgnoreClose"))));

                overviewPresenter.ClearAllButPackedBy();
            }
            catch (Imi.SupplyChain.UX.ValidationException ex)
            {
                view.HandleValidationResult(ValidationHelper.ConvertToResult((Imi.SupplyChain.UX.ValidationException)ex));
            }
        }