コード例 #1
0
        private static void OnModeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            SolutionSelectingWindow solutionSelectingWindow = ( SolutionSelectingWindow )d;

            // solutionSelectingWindow.goButton.Content = solutionSelectingWindow.IsEditListMode ? "OK" : "Старт";
            solutionSelectingWindow.goButton.SetValue(KeyStateChecker.OkModeProperty, solutionSelectingWindow.IsEditListMode);
            solutionSelectingWindow.goButton.Width = solutionSelectingWindow.IsEditListMode ? 50 : 220;

            solutionSelectingWindow.UpdateListBoxMode();
        }
コード例 #2
0
ファイル: App.cs プロジェクト: AramisIT/Starter
        /// <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);
            }
        }