public override void OnShowPickPaceMonitorOverview(object sender, EventArgs e) { PickPaceMonitorOverviewViewParameters 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 PickPaceMonitorOverviewViewParameters(); 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 PickPaceMonitorOverviewViewParameters(); HyperlinkHelper.MapQueryString(parameters, viewParameters); } } else if (e is DataEventArgs <PickPaceMonitorOverviewViewParameters> ) { viewParameters = ((DataEventArgs <PickPaceMonitorOverviewViewParameters>)e).Data; } ControlledWorkItem <PickPaceMonitorController> workItem = (from wi in WorkItem.WorkItems.FindByType <ControlledWorkItem <PickPaceMonitorController> >() where wi.Items.Get <string>("ModuleId") == ShellInteractionService.ActiveModule.Id select wi).LastOrDefault(); if (workItem == null || openInNewWindow) { workItem = WorkItem.WorkItems.AddNew <ControlledWorkItem <PickPaceMonitorController> >(); workItem.Items.Add(ShellInteractionService.ActiveModule.Id, "ModuleId"); workItem.Controller.Run(viewParameters, favoriteId); } else { workItem.Controller.Activate(viewParameters, favoriteId); } }
public void Activate(PickPaceMonitorOverviewViewParameters parameters, string favoriteId) { _favoriteId = favoriteId; if (pickPaceMonitorOverviewView != null && !string.IsNullOrEmpty(_favoriteId)) { UXSettingsService favoriteSettingsService = WorkItem.Items.AddNew <UXSettingsService>(_favoriteId); favoriteSettingsService.ContainerName = _favoriteId; favoriteSettingsService.AddProvider(pickPaceMonitorOverviewView, new PickPaceMonitorControllerSettingsProvider()); favoriteSettingsService.LoadSettings(); WorkItem.Items.Remove(favoriteSettingsService); } Activate(parameters); }
public void Run(PickPaceMonitorOverviewViewParameters parameters, string favoriteId) { _favoriteId = favoriteId; Run(parameters, false); }