private void AddButton_Click(object sender, RoutedEventArgs e) { SolutionInfo newSolutionInfo = AddNewSystemWindow.AddNewSolution(); if (newSolutionInfo != null) { solutions.Add(newSolutionInfo); } }
/// <summary> /// to debug set as run parameter: "7028;4dee93e9-f991-47f8-9493-931aa945897a;AramisPlatform;localhost" /// </summary> /// <param name="args"></param> private void Start(string[] args) { if (ProcessHelper.GetOtherSameProcessesList(true).Count > 0) { if (MessageBox.Show(string.Format("Для продолжения запуска требуется закрыть другие запущенные копии системы.\r\n\r\nНажмите Да и система продолжит запуск\r\n\r\nНажмите Нет для отмены{0}", App.StartParameters.TerminatingProcessId > 0 ? "\r\nПроцесс: " + App.StartParameters.TerminatingProcessId.ToString() : ""), "Aramis system", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No) == MessageBoxResult.Yes) { ProcessHelper.GetOtherSameProcessesList(true).ForEach(process => process.SafetyKill()); } else { return; } } Log.Testing = (new List <string>() { "---utk-server1", "-atosit", "donotenter" }).Contains(System.Environment.MachineName.ToLower().Trim()); if (Thread.CurrentThread.Name == null) { Thread.CurrentThread.Name = "Main starter thread"; } ReadSolutions(); // ( new WpfApplication1.SolutionSelectingWindowXXX() ).ShowDialog(); // Нужно что это окно было создано первым, т.к. оно будет главным LoginWindow mainWindow = LoginWindow.Window; bool emptySolutionListAtStart = solutions.Count == 0; if (emptySolutionListAtStart) { TryToAddDefaultSolution(); if (solutions.Count == 0) { SolutionInfo newSolutionInfo = AddNewSystemWindow.AddNewSolution(); if (newSolutionInfo != null) { solutions.Add(newSolutionInfo); SaveSolutionsList(solutions); } } } ReadSolutions(); SelectedSolution = null; if (solutions.Count == 0) { return; } else if (solutions.Count == 1 && !emptySolutionListAtStart && !Keyboard.IsKeyDown(Key.LeftShift) && !Keyboard.IsKeyDown(Key.RightShift)) { SelectedSolution = solutions[0]; } else if (App.StartParameters.ExecuteType == ExecuteTypes.Restart) { foreach (var solution in solutions) { if (solution.SqlBaseName.Equals(App.StartParameters.DatabaseName, StringComparison.OrdinalIgnoreCase) && solution.SqlServerName.Equals(App.StartParameters.ServerName, StringComparison.OrdinalIgnoreCase)) { SelectedSolution = solution; break; } } } if (SelectedSolution == null) { SolutionSelectingWindow seleectingWindow = new SolutionSelectingWindow(solutions); seleectingWindow.ShowDialog(); SelectedSolution = seleectingWindow.SelectedSolution; } if (SelectedSolution != null) { InitWithSelectedSolution(); //if (Log.Testing || Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.LeftAlt)) // { // (new Log()).Show(); // } Run(mainWindow); } }