private void RemoveFromSubjects(EditingSubjectViewModel subjectVM) { UnhookEvents(subjectVM); _subjects.Remove(subjectVM); }
private void UnhookCreationHandlers(EditingSubjectViewModel subjectViewModel) { subjectViewModel.ChangesCanceledEvent -= DiscardNewSubject; subjectViewModel.ChangesSavedEvent -= EditCompleted; }
private void AddToSubjects(EditingSubjectViewModel vm) { AttachEvents(vm); _subjects.Add(vm); }
private void InsertIntoSubjects(int idx, EditingSubjectViewModel editingVM) { AttachEvents(editingVM); _subjects.Insert(idx, editingVM); }
private void UnhookEvents(EditingSubjectViewModel alterSubjectViewModel) { if (alterSubjectViewModel != null) { alterSubjectViewModel.ChangesCanceledEvent -= EditCompleted; } }
private void AttachEvents(EditingSubjectViewModel editingVM) { editingVM.ChangesCanceledEvent += new EventHandler(EditCompleted); editingVM.ChangesSavedEvent += new EventHandler(EditCompleted); }
private void EditSubject(object sender, EventArgs e) { var subjectVM = sender as SubjectViewModel; if (subjectVM != null) { int idx = _subjects.IndexOf(subjectVM); if (idx >= 0) { var editingVM = new EditingSubjectViewModel(subjectVM.Subject, _subjectValidator); RemoveFromSubjects(subjectVM); InsertIntoSubjects(idx, editingVM); IncreaseDirtyLevel(); } } }