public void DeleteTutoringSession(String code, DateTime startTime, DateTime endTime, int?participants) { TutoringSession tmpTs = new TutoringSession(code, startTime, endTime, participants); ICollection <TutoringSession> toBeDeleted = new List <TutoringSession>(); foreach (TutoringSession ts in SelectedCourse.TutoringSessions) { if (ts.Equals(tmpTs)) { toBeDeleted.Add(ts); } } foreach (TutoringSession ts in toBeDeleted) { selectedCourse.TutoringSessions.Remove(ts); } try { dal.DeleteTutoringSession(tmpTs); TutoringSessions.Remove(tmpTs); //selectedCourse.TutoringSessions.Remove(SelectedTutoringSession); Status = "Tutoring session was removed!"; SelectedTutor = null; } catch (Exception ex) { // Rollback foreach (TutoringSession ts in toBeDeleted) { selectedCourse.TutoringSessions.Add(ts); } Status = ExceptionHandler.GetErrorMessage(ex); } Courses = new ObservableCollection <Course>(dal.GetAllCourses()); NotifyPropertyChanged("Courses"); NotifyPropertyChanged("TutoringSessions"); selectedCourse = Courses.FirstOrDefault(c => c.Code.Equals(code)); NotifyPropertyChanged("SelectedCourse"); }
public void AddTutoringSession(String code, DateTime startTime, DateTime endTime) { try { TutoringSession ts = new TutoringSession(code, startTime, endTime, null); dal.AddTutoringSession(ts); TutoringSessions.Add(ts); TutoringSessions = new ObservableCollection <TutoringSession>(dal.GetAllTutoringSessions()); NotifyPropertyChanged("TutoringSessions"); Courses = new ObservableCollection <Course>(dal.GetAllCourses()); NotifyPropertyChanged("Courses"); Status = "Tutoring session was added!"; SelectedTutor = null; } catch (Exception ex) { Status = ExceptionHandler.GetErrorMessage(ex); } }