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