public override void OnRunUnPackRowForPackStation(WorkItem context, object caller, object target)
        {
            if (context.Items.Contains("IgnoreClose"))
            {
                context.Items.Remove(context.Items["IgnoreClose"]);
            }

            if (context.Items.Contains("DialogResult"))
            {
                context.Items.Remove(context.Items["DialogResult"]);
            }
            if (context.Items.Contains("RefreshPackStationOverview"))
            {
                context.Items.Remove(context.Items["RefreshPackStationOverview"]);
            }

            RunUnPackRowForPackStationActionParameters actionParameters = target as RunUnPackRowForPackStationActionParameters;



            UnPackRowForPackStationRequest serviceRequest = new UnPackRowForPackStationRequest();

            serviceRequest.UnPackRowForPackStationParameters = new UnPackRowForPackStationParameters();

            serviceRequest.UnPackRowForPackStationParameters.PickOrderLineNumber = actionParameters.PickOrderLineNumber;
            serviceRequest.UnPackRowForPackStationParameters.LoadCarrierId       = actionParameters.LoadCarrierId;
            try
            {
                UnPackRowForPackStationResponse serviceResponse = PickLoadCarrierService.UnPackRowForPackStation(serviceRequest);

                context.Items.Add(DialogResult.None, "DialogResult");
                context.Items.Add(serviceResponse.UnPackRowForPackStationResult.RefreshGUI.Value, "RefreshPackStationOverview");
            }
            catch (FaultException <ValidationFault> ex)
            {
                if (ex.Detail.ValidationError == ValidationError.NullValue)
                {
                    throw new Imi.SupplyChain.UX.NullValidationException(ex.Detail.Message, ex.Detail.ParameterName);
                }
                else
                {
                    throw new Imi.SupplyChain.UX.ValidationException(ex.Detail.Message, ex.Detail.ParameterName);
                }
            }
        }
コード例 #2
0
        public override void OnPackStationLcToEditRunUnPackRowForPackStation(WorkItem context, object caller, object target)
        {
            WorkItem wi = GetModuleWorkItem(context);

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

            PackStationLcToEditViewResult viewResult = null;
            RunUnPackRowForPackStationActionParameters actionParameters = null;
            PackStationLcToEditViewToRunUnPackRowForPackStationActionTranslator translator = null;
            bool isItemSelected = false;

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

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

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

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

            IPackStationLcToEditView view = context.SmartParts.FindByType <PackStationLcToEditView>().Last();
            IPackStationOverviewView packStationOverviewView = context.SmartParts.FindByType <IPackStationOverviewView>().LastOrDefault();
            IPackStationToLCView     packStationToLcView     = context.SmartParts.FindByType <IPackStationToLCView>().LastOrDefault();
            IPackStationFromLCView   packStationFromLcView   = context.SmartParts.FindByType <IPackStationFromLCView>().LastOrDefault();

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

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

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

                if (context.Items.Contains("RefreshPackStationOverview"))
                {
                    if (((bool)context.Items["RefreshPackStationOverview"]))
                    {
                        packStationOverviewView.Refresh();
                    }
                    else
                    {
                        if (packStationFromLcView != null)
                        {
                            packStationFromLcView.Refresh();
                        }

                        if (packStationToLcView != null)
                        {
                            packStationToLcView.Refresh();
                        }
                    }
                }
                else
                {
                    if (packStationFromLcView != null)
                    {
                        packStationFromLcView.Refresh();
                    }

                    if (packStationToLcView != null)
                    {
                        packStationToLcView.Refresh();
                    }
                }
            }
            catch (Imi.SupplyChain.UX.ValidationException ex)
            {
                view.HandleValidationResult(ValidationHelper.ConvertToResult((Imi.SupplyChain.UX.ValidationException)ex));
            }
        }