Exemplo n.º 1
0
        public override bool PackStationFromLCRunPackAllRowsForPackStationCondition_CanExecute(string action, WorkItem context, object caller, object target)
        {
            PackStationOverviewPresenter overviewPresenter = context.Items.FindByType <PackStationOverviewPresenter>().LastOrDefault();

            if (!string.IsNullOrEmpty(overviewPresenter.ToLoadCarrierId))
            {
                // Multi select is not supported
                if (context.Items.FindByType <IList <PackStationFromLCViewResult> >().Count > 0)
                {
                    if (context.Items.FindByType <IList <PackStationFromLCViewResult> >().Last().Count > 1)
                    {
                        return(false);
                    }
                }

                IActionCatalogService actionCatalog = context.Services.Get <IActionCatalogService>(true);

                PackStationFromLCViewResult viewResult = null;
                RunPackAllRowsForPackStationActionParameters actionParameters = null;
                bool isItemSelected = false;

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

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

                PackStationFromLCViewToRunPackAllRowsForPackStationActionTranslator translator = null;

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

                actionParameters = translator.Translate(new PackStationOverviewViewParameters(), "");
                actionParameters.IsItemSelected          = isItemSelected;
                actionParameters.IsMultipleItemsSelected = false;
                return(actionCatalog.CanExecute(ActionNames.RunPackAllRowsForPackStation, context, caller, actionParameters));
            }

            return(false);
        }
        public override void UpdateView(PackStationFromLCViewParameters viewParameters)
        {
            foreach (PackStationFromLCViewParameters item in WorkItem.Items.FindByType <PackStationFromLCViewParameters>())
            {
                WorkItem.Items.Remove(item);
            }

            if (viewParameters != null)
            {
                WorkItem.Items.Add(viewParameters);
            }

            this.viewParameters = viewParameters;


            forceUpdate = false;
            ExecuteSearch(viewParameters);
        }
        public PackStationFromLCViewParameters TranslateFromResultToParameters(IList <PackStationOverviewViewResult> viewResult)
        {
            PackStationFromLCViewParameters viewParameters = null;

            if (viewResult != null)
            {
                viewParameters = new PackStationFromLCViewParameters();

                foreach (PackStationOverviewViewResult result in viewResult)
                {
                    if (result.Selected.Value)
                    {
                        viewParameters.LoadCarrierIds += "#" + result.LoadCarrierId.Trim() + "#";
                    }
                }
            }

            return(viewParameters);
        }
        public override void PackStationOverviewViewUpdatedEventHandler(object sender, DataEventArgs <PackStationOverviewViewResult> eventArgs)
        {
            IPackStationOverviewView packStationOverviewView = WorkItem.SmartParts.FindByType <IPackStationOverviewView>().Last();

            //if (packStationOverviewView.CurrentItem != null)
            //    packStationOverviewView.SetFocus();

            IList <PackStationOverviewViewResult> ViewResults = packStationOverviewView.GetData;


            IDataView packStationFromLCView = WorkItem.Items.Get("Imi.SupplyChain.Warehouse.UX.Views.PickLoadCarrier.IPackStationFromLCView") as IDataView;

            if (packStationFromLCView != null)
            {
                PackStationOverviewViewToPackStationFromLCViewTranslator packStationOverviewViewToPackStationFromLCViewTranslator = null;

                if (WorkItem.Items.FindByType <PackStationOverviewViewToPackStationFromLCViewTranslator>().Count > 0)
                {
                    packStationOverviewViewToPackStationFromLCViewTranslator = WorkItem.Items.FindByType <PackStationOverviewViewToPackStationFromLCViewTranslator>().Last();
                }
                else
                {
                    packStationOverviewViewToPackStationFromLCViewTranslator = WorkItem.Items.AddNew <PackStationOverviewViewToPackStationFromLCViewTranslator>();
                }

                if (packStationFromLCView.IsEnabled)
                {
                    PackStationFromLCViewParameters packStationFromLCViewParameters = packStationOverviewViewToPackStationFromLCViewTranslator.TranslateFromResultToParameters(ViewResults);
                    packStationFromLCView.Update(packStationFromLCViewParameters);
                }
                else
                {
                    packStationFromLCView.Update(null);
                }
            }

            IDataView packStationToLCView = WorkItem.Items.Get("Imi.SupplyChain.Warehouse.UX.Views.PickLoadCarrier.IPackStationToLCView") as IDataView;

            if (packStationToLCView != null)
            {
                PackStationOverviewViewToPackStationToLCViewTranslator packStationOverviewViewToPackStationToLCViewTranslator = null;

                if (WorkItem.Items.FindByType <PackStationOverviewViewToPackStationToLCViewTranslator>().Count > 0)
                {
                    packStationOverviewViewToPackStationToLCViewTranslator = WorkItem.Items.FindByType <PackStationOverviewViewToPackStationToLCViewTranslator>().Last();
                }
                else
                {
                    packStationOverviewViewToPackStationToLCViewTranslator = WorkItem.Items.AddNew <PackStationOverviewViewToPackStationToLCViewTranslator>();
                }

                if (packStationToLCView.IsEnabled)
                {
                    string toLoadCarrierId = string.Empty;
                    if (WorkItem.Items.FindByType <PackStationOverviewPresenter>().Count > 0)
                    {
                        toLoadCarrierId = WorkItem.Items.FindByType <PackStationOverviewPresenter>().Last().ToLoadCarrierId;
                    }
                    PackStationToLCViewParameters packStationToLCViewParameters = packStationOverviewViewToPackStationToLCViewTranslator.TranslateFromResultToParameters(toLoadCarrierId);
                    packStationToLCView.Update(packStationToLCViewParameters);
                }
                else
                {
                    packStationToLCView.Update(null);
                }
            }
        }