public MainWindow() { Dispatcher.Thread.CurrentUICulture = Dispatcher.Thread.CurrentCulture; InitializeComponent(); TryCreateShortcut(); if (!MonitorSettingsContainer.MonitorSettings.UpgradeNeeded) { return; } MonitorSettingsContainer.MonitorSettings.UpgradeNeeded = false; const int ActualColumnNumber = 9; var widths = MonitorSettingsContainer.MonitorSettings.ColumnWidths.Split(',').ToList(); while (widths.Count < ActualColumnNumber) { widths.Add("100:true"); } MonitorSettingsContainer.MonitorSettings.ColumnWidths = string.Join(",", widths); MonitorSettingsContainer.SaveMonitorSettings(MonitorSettingsContainer.MonitorSettings); }
protected override void OnClosing(CancelEventArgs e) { var viewModel = DataContext as MainWindowViewModel; foreach (var buildServer in MonitorSettingsContainer.BuildServers) { foreach (var buildDefinition in buildServer.BuildDefinitions) { var adapter = viewModel.BuildAdapters.FirstOrDefault(x => x.BuildInformation.BuildDefinitionId == buildDefinition.Id); if (adapter == null) { continue; } buildDefinition.Tags = adapter.Tags.ToArray(); } } MonitorSettingsContainer.MonitorSettings.WindowTop = (int)Top; MonitorSettingsContainer.MonitorSettings.WindowLeft = (int)Left; MonitorSettingsContainer.MonitorSettings.BigSize = viewModel.BigSizeMode; MonitorSettingsContainer.MonitorSettings.UseFullWidth = viewModel.UseFullWidth; MonitorSettingsContainer.MonitorSettings.ZoomFactor = viewModel.ZoomFactor; MonitorSettingsContainer.MonitorSettings.RefreshInterval = viewModel.Maximum; MonitorSettingsContainer.MonitorSettings.RibbonMinimized = viewModel.IsRibbonMinimized; MonitorSettingsContainer.SaveMonitorSettings(MonitorSettingsContainer.MonitorSettings); while (viewModel.PinBuildViews.Any()) { viewModel.PinBuildViews[0].Close(); } base.OnClosing(e); }
/// <summary>Defines the method to be called when the command is invoked.</summary> /// <param name="parameter">Data used by the command. If the command does not require data to be passed, this object can be set to null.</param> public void Execute(object parameter) { var oldBuildAdapters = mainWindowViewModel.BuildAdapters.ToList(); MonitorSettingsContainer.BuildServers.Clear(); mainWindowViewModel.BuildAdapters.Clear(); foreach (var buildServerAdapter in settingsViewModel.BuildServers) { var buildServer = new BuildServer { ServerName = buildServerAdapter.ServerName, DomainName = buildServerAdapter.Domain, Login = buildServerAdapter.Login, PasswordBytes = buildServerAdapter.CryptedPassword, Url = buildServerAdapter.TfsUrl, DetailBuildUrl = buildServerAdapter.DetailBuildUrl, TfsVersion = buildServerAdapter.TfsVersion }; MonitorSettingsContainer.BuildServers.Add(buildServer); foreach (var buildDefinitionResult in buildServerAdapter.BuildDefinitionResults.Where(x => x.Selected)) { var buildDefinition = new BuildDefinition { Id = buildDefinitionResult.Id, Name = buildDefinitionResult.Name, Uri = buildDefinitionResult.Uri, Url = buildDefinitionResult.Url, ProjectId = buildDefinitionResult.ProjectId }; var existingAdapter = oldBuildAdapters.FirstOrDefault(x => x.BuildInformation.BuildDefinitionId == buildDefinition.Id); if (existingAdapter != null) { buildDefinition.Tags = existingAdapter.Tags.ToArray(); } buildServer.BuildDefinitions.Add(buildDefinition); } foreach (var build in buildServer.GetBuilds()) { mainWindowViewModel.BuildAdapters.Add(new BuildAdapter(mainWindowViewModel, build, false)); } } mainWindowViewModel.Refresh(); MonitorSettingsContainer.SaveBuildServers(); settingsView.Close(); }