public override void OnShowOutboundStagingMonitorOverview(object sender, EventArgs e) { OutboundStagingMonitorOverviewViewParameters viewParameters = null; bool openInNewWindow = false; string favoriteId = string.Empty; if (e is MenuEventArgs) { openInNewWindow = ((MenuEventArgs)e).OpenInNewWindow; string parameters = ((MenuEventArgs)e).Parameters; favoriteId = ((MenuEventArgs)e).MenuItemId; if (!string.IsNullOrEmpty(parameters)) { viewParameters = new OutboundStagingMonitorOverviewViewParameters(); HyperlinkHelper.MapQueryString(parameters, viewParameters); } } else if (e is MenuItemExecutedEventArgs) { openInNewWindow = ((MenuItemExecutedEventArgs)e).OpenInNewWindow; string parameters = ((MenuItemExecutedEventArgs)e).MenuItem.Parameters; favoriteId = ((MenuItemExecutedEventArgs)e).MenuItem.Id; if (!string.IsNullOrEmpty(parameters)) { viewParameters = new OutboundStagingMonitorOverviewViewParameters(); HyperlinkHelper.MapQueryString(parameters, viewParameters); } } else if (e is DataEventArgs <OutboundStagingMonitorOverviewViewParameters> ) { viewParameters = ((DataEventArgs <OutboundStagingMonitorOverviewViewParameters>)e).Data; } ControlledWorkItem <OutboundStagingMonitorController> workItem = (from wi in WorkItem.WorkItems.FindByType <ControlledWorkItem <OutboundStagingMonitorController> >() where wi.Items.Get <string>("ModuleId") == ShellInteractionService.ActiveModule.Id select wi).LastOrDefault(); if (workItem == null || openInNewWindow) { workItem = WorkItem.WorkItems.AddNew <ControlledWorkItem <OutboundStagingMonitorController> >(); workItem.Items.Add(ShellInteractionService.ActiveModule.Id, "ModuleId"); workItem.Controller.Run(viewParameters, favoriteId); } else { workItem.Controller.Activate(viewParameters, favoriteId); } }
public void Activate(OutboundStagingMonitorOverviewViewParameters parameters, string favoriteId) { _favoriteId = favoriteId; if (outboundStagingMonitorOverviewView != null && !string.IsNullOrEmpty(_favoriteId)) { UXSettingsService favoriteSettingsService = WorkItem.Items.AddNew <UXSettingsService>(_favoriteId); favoriteSettingsService.ContainerName = _favoriteId; favoriteSettingsService.AddProvider(outboundStagingMonitorOverviewView, new OutboundStagingMonitorControllerSettingsProvider()); favoriteSettingsService.LoadSettings(); WorkItem.Items.Remove(favoriteSettingsService); } Activate(parameters); }
public void Run(OutboundStagingMonitorOverviewViewParameters parameters, string favoriteId) { _favoriteId = favoriteId; Run(parameters, false); }