Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        /// <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();
        }