public ResultInfo(MainWindow window, QuestionWindow workWindow, string isFinished, Container container)
 {
     Total       = default(int);
     _container  = container;
     RankingData = new List <Tuple <string, double, double> >();
     DataContext = this;
     WindowOwner = window;
     WorkWindow  = workWindow;
     InitializeComponent();
     if (isFinished == "true")
     {
         continueWork.Visibility   = Visibility.Collapsed;
         startInstructions.Content = $"Спектри переваг альтернатив (результуючі ранжування)";
     }
     else
     {
         lastRanking = SoulData.Storage.LastOrDefault();
         SoulData.Storage.Remove(SoulData.TotalRankings - int.Parse(isFinished) + 1);
         startInstructions.Content = $"Спектри переваг альтернатив (проміжні результати): залишилось {isFinished} ранжування(-нь) з {SoulData.TotalRankings}";
     }
     Data         = SoulData.Storage;
     infoBox.Text = Strings.startData;
     DrawHistogram();
     allListsBox.ItemsSource   = SoulData.Alternatives.ToArray();
     allListsBox.SelectedIndex = 0;
     ConvertDataForOneAlternative(SoulData.Alternatives);
     Charts.Width = 300 + SoulData.Alternatives.Count * 100;
 }
        private void returnToMain_Click(object sender, RoutedEventArgs e)
        {
            var dialogResult = System.Windows.MessageBox.Show("Результати поточного ранжування будуть втрачені.\nВиконати ранжування ще раз, використовуючи існуючі альтернативи?", "Увага", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);

            switch (dialogResult)
            {
            case MessageBoxResult.Yes:
                isClose            = false;
                WorkWindow.isClose = false;
                WorkWindow.Close();
                this.Close();
                var alternatives = SoulData.Alternatives;
                SoulData.Initialize();
                SoulData.Alternatives = alternatives;
                var window = new QuestionWindow(WindowOwner, _container);
                window.Show();
                break;

            case MessageBoxResult.No:
                isClose            = false;
                WorkWindow.isClose = false;
                WorkWindow.Close();
                WindowOwner.isClose = false;
                WindowOwner.Close();
                var mainWindow = new MainWindow();
                mainWindow.Show();
                this.Close();
                break;

            default:
                break;
            }
        }
Пример #3
0
 private void startBtn_Click(object sender, RoutedEventArgs e)
 {
     if (numberCombobox.SelectedItem == null || gradationCombobox.SelectedItem == null)
     {
         System.Windows.MessageBox.Show("Для початку роботи оберіть кількість альтернатив та кількість градацій", "Попередження", MessageBoxButton.OK, MessageBoxImage.Warning);
     }
     else if (!_helper.CheckAlternativesNamesForUniques(alternativesOnStackPanel.Children))
     {
         _helper.UpdateAlternatives(SoulData.Alternatives, alternativesOnStackPanel.Children);
         SoulData.CurrentGradation = int.Parse(gradationCombobox.SelectedItem.ToString());
         QuestionWindow questionsStateWindow = new QuestionWindow(this, _container);
         _helper.InitializeColors(SoulData.Alternatives);
         questionsStateWindow.Show();
         this.Hide();
     }
 }
Пример #4
0
        public void BuildResult(QuestionWindow window, string isFinished)
        {
            ResultInfo details = new ResultInfo(this, window, isFinished, _container);

            details.Show();
        }