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); } } }