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(); }
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); }