public TestsViewModel( ITestQuery queries, ITests commands, ISubjectQuery subjectQuery, IValidator<Test> testValidator, IValidator<Question> questionValidator, IValidator<Answer> answerValidator, IValidator<AssociatedSubject> subjectValidator ) : base() { _queries = queries; _commands = commands; _subjectQuery = subjectQuery; _testValidator = testValidator; _questionValidator = questionValidator; _answerValidator = answerValidator; _subjectValidator = subjectValidator; LoadAllTests(); _addTestCommand = new RelayCommand( () => AddNewTest(), () => CanAddNewTest() ); }
public AnswersViewModel( IEnumerable<Answer> answers, IValidator<Answer> answerValidator, IValidator<AssociatedSubject> subjectValidator, ISubjectQuery subjectQuery, Guid busId) { if (answerValidator == null) throw new ArgumentNullException("answerValidator"); if (subjectValidator == null) throw new ArgumentNullException("subjectValidator"); if (subjectQuery == null) throw new ArgumentNullException("subjectQuery"); _busId = busId; _answerValidator = answerValidator; _subjectValidator = subjectValidator; _subjectQuery = subjectQuery; InitializeAnswers(answers); InitializeCommands(); }
public DefaultTestEvaluator(ISubjectQuery subjects, TextLoader textLoader, ILogger logger) { _subjects = subjects; _logger = logger; _textLoader = textLoader; InitializeSubjects(); }
public SubjectsViewModel(ISubjectQuery subjectQueries, ISubjects subjectCommands, IValidator<Subject> subjectValidator) : base() { _commands = subjectCommands; _queries = subjectQueries; _subjects = new ObservableCollection<ViewModelBase>(); _subjectValidator = subjectValidator; LoadSubjects(); this.IsDirtyChangedEvent += new EventHandler(IsDirtyChangedHandler); MessengerInstance.Register<Messages.Navigating>(this, "SubjectsView", msg => Cleanup()); }
public AnswerViewModel( Answer answer, IValidator<Answer> answerValidator, IValidator<AssociatedSubject> subjectValidator, ISubjectQuery subjectQuery, Guid busId) { _answer = answer; _busId = busId; _answerValidator = answerValidator; _subjectValidator = subjectValidator; _subjectQuery = subjectQuery; InitializeCommands(); InitializeSubjects(); _logger.Log(Level.Trace, "Created a new answer"); }
public QuestionViewModel( Question question, IValidator<Question> questionValidator, IValidator<Answer> answerValidator, IValidator<AssociatedSubject> subjectValidator, ISubjectQuery subjectQuery, Guid busId ) : base() { _busId = busId; _question = question; _questionValidator = questionValidator; _answerValidator = answerValidator; _subjectValidator = subjectValidator; _subjectQuery = subjectQuery; InitializeCommands(); InitializeAnswers(); }
public EditingTestViewModel( Test test, IValidator<Test> testValidator, IValidator<Question> questionValidator, IValidator<Answer> answerValidator, IValidator<AssociatedSubject> subjectValidator, ISubjectQuery subjectQuery ) { if (test == null) throw new ArgumentNullException("test"); _busId = test.Id; _test = test; _testValidator = testValidator; InitializeQuestions(test, questionValidator, answerValidator, subjectValidator, subjectQuery); this.PropertyChanged += PropertyHasChanged; RegisterMessages(); IntializeCommands(); }
public AssociatedSubjectsViewModel( IEnumerable<AssociatedSubject> subjects, IValidator<AssociatedSubject> subjectValidator, ISubjectQuery subjectsQuery, Guid busId) { if (subjectsQuery == null) throw new ArgumentNullException("subjectsQuery"); if (subjectValidator == null) throw new ArgumentNullException("subjectValidator"); if (subjects == null) throw new ArgumentNullException("subjects"); _busId = busId; _subjectQuery = subjectsQuery; _subjectValidator = subjectValidator; _subjectQuery = subjectsQuery; InitializeSubjects(subjects); InitializeCommands(); }
public QuestionsViewModel( IEnumerable<Domain.Question> questions, IValidator<Question> questionValidator, IValidator<Answer> answerValidator, IValidator<AssociatedSubject> subjectValidator, ISubjectQuery subjectQuery, Guid busId ) : base() { _busId = busId; _questions = new ObservableCollection<QuestionViewModel>(); _questionValidator = questionValidator; _answerValidator = answerValidator; _subjectValidator = subjectValidator; _subjectQuery = subjectQuery; BuildViewModels(questions); InitializeCommands(); InitializeView(); }
public override void Cleanup() { //stop listening for the dirty event IsDirtyChangedEvent -= IsDirtyChangedHandler; //release singletons _queries = null; _commands = null; _subjectValidator = null; //clean the list var editingViewModels = _subjects.OfType<EditingSubjectViewModel>().ToList(); var subjectViewModels = _subjects.OfType<SubjectViewModel>().ToList(); for (int i = 0; i < editingViewModels.Count; i++) { var vm = editingViewModels[0]; UnhookEvents(vm); vm.Cleanup(); } for (int i = 0; i < subjectViewModels.Count; i++) { var vm = subjectViewModels[0]; UnhookEvents(vm); vm.Cleanup(); } for (int i = 0; i < _subjects.Count; i++) { var vm = _subjects[0]; vm.Cleanup(); } //call base cleanup base.Cleanup(); }
private void InitializeQuestions( Test test, IValidator<Question> questionValidator, IValidator<Answer> answerValidator, IValidator<AssociatedSubject> subjectValidator, ISubjectQuery subjectQuery ) { _questions = new QuestionsViewModel( test.Questions, questionValidator, answerValidator, subjectValidator, subjectQuery, _busId ); AttachQuestionEvents(_questions); }