public override void doit() { _course.setNumberOfLessonsPerWeek(_newNumOfLessonsPerWeek); _course.setNumberOfEnrolledStudents(_newNumOfEnrolledStudents); _course.setIsGroup(_newIsGroup); _course.setGroupName(_newGroupName); _course.setShortName(_newShortName); _course.setTeacher(_newTeacher); _course.ExtID = _newExtID; _course.CourseType = _newCourseType; if (_newCourseType != _oldCourseType) { updateTSPLabels(); if (!AppForm.CURR_OCTT_DOC.CourseTypesList.Contains(_newCourseType)) { AppForm.CURR_OCTT_DOC.CourseTypesList.Add(_newCourseType); AppForm.CURR_OCTT_DOC.CourseTypesList.Sort(); } if (HardConstraintChecks.checkIfCourseTypeIsFreeForDelete(_course)) { AppForm.CURR_OCTT_DOC.CourseTypesList.Remove(_oldCourseType); } } if (_oldName != _newName || _oldCourseType != _newCourseType) { _course.setName(_newName); updateTSPLabels(); } //update of existing lessons in ListView updateListViewText(); int diff; if (_oldNumOfLessonsPerWeek > _newNumOfLessonsPerWeek) { diff = _oldNumOfLessonsPerWeek - _newNumOfLessonsPerWeek; for (int n = 0; n < diff; n++) { _ep.removeOneLessonFromUnallocatedLessonsModelAndListView(_course, AppForm.getAppForm().getUnallocatedLessonsListView()); AppForm.CURR_OCTT_DOC.decrUnallocatedLessonsCounter(1); } } else if (_newNumOfLessonsPerWeek > _oldNumOfLessonsPerWeek) { //we have to add lessons diff = _newNumOfLessonsPerWeek - _oldNumOfLessonsPerWeek; for (int k = 0; k < diff; k++) { string [] courseTeacher = new string[2]; courseTeacher[0] = _course.getFullName(); courseTeacher[1] = _course.getTeacher().getLastName() + " " + _course.getTeacher().getName(); ListViewItem lvi = new ListViewItem(courseTeacher); lvi.Tag = _course; lvi.EnsureVisible(); AppForm.getAppForm().getUnallocatedLessonsListView().Items.Add(lvi); ListViewItem lvi2 = (ListViewItem)lvi.Clone(); _ep.getUnallocatedLessonsList().Add(lvi2); AppForm.CURR_OCTT_DOC.incrUnallocatedLessonsCounter(1); } } _course.setTreeText(); sortIt(); }