Ejemplo n.º 1
0
        internal static SolutionInfo AddNewSolution()
        {
            AddNewSystemWindow addNewSystemWindow = new AddNewSystemWindow();

            addNewSystemWindow.ShowDialog();
            return(addNewSystemWindow.isSolutionRecognized ? addNewSystemWindow.newSolution : null);
        }
Ejemplo n.º 2
0
        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            SolutionInfo newSolutionInfo = AddNewSystemWindow.AddNewSolution();

            if (newSolutionInfo != null)
            {
                solutions.Add(newSolutionInfo);
            }
        }
Ejemplo n.º 3
0
        /// <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);
            }
        }