private void ExecuteStartTraining(bool canEvaluate)
        {
            ((MainWindowVM)Parent).Save();

            var config = GetTestConfiguration();

            ((MainWindowVM)Parent).ExpressionsVisibility = Visibility.Hidden;

            try
            {
                if (_defaultChooser == null)
                {
                    _defaultChooser             = new DefaultExpressionChooser(DateTimeProvider, DataAccess);
                    _flashCardsAlgorithmChooser = new FlashCardsExpressionsChooser(DateTimeProvider, DataAccess);

                    _defaultLearningAlgorithm    = new DefaultLearningAlgorithm(DateTimeProvider);
                    _flashCardsLearningAlgorithm = new FlashCardsLearningAlgorithm();
                }

                WindowService.ShowDialog(
                    new TestVM(
                        canEvaluate,
                        config,
                        FlashCardsAlgorithm ? _flashCardsAlgorithmChooser : _defaultChooser,
                        FlashCardsAlgorithm ? _flashCardsLearningAlgorithm : _defaultLearningAlgorithm));
            }
            catch (Exception ex)
            {
                WindowService.ShowError(ex);
            }

            ((MainWindowVM)Parent).ExpressionsVisibility = Visibility.Visible;
            ((MainWindowVM)Parent).RebuildList();
        }
Пример #2
0
        public TestVM(bool canEvaluate, TestConfiguration config, IExpressionsChooser chooser, ILearningAlgorithm algorithm)
        {
            config.NotNull("config");
            chooser.NotNull("chooser");
            algorithm.NotNull("algorithm");

            CanEvaluate = canEvaluate;
            Config      = config;
            Algorithm   = algorithm;

            Expressions     = chooser.SelectExpressions(Config);
            ExpressionsView = CollectionViewSource.GetDefaultView(Expressions);
        }