private void Addshedule(object sender, RoutedEventArgs e) { TimeManager tm = new TimeManager(); if (cboxDocsList.SelectedIndex == -1) { MessageBox.Show("Please select doctor"); return; } if (cboxStartHours.SelectedIndex == -1 || cboxEndHours.SelectedIndex == -1) { MessageBox.Show("Please select work hours"); return; } if (dpDate.SelectedDate == null) { MessageBox.Show("Please select date"); return; } DoctorDTO doctor = cboxDocsList.SelectedValue as DoctorDTO; var schedule = ModelCreator.CreateSchedule(doctor.Id, dpDate.SelectedDate.Value, string.Join(" - ", cboxStartHours.SelectedItem.ToString(), cboxEndHours.SelectedItem.ToString())); var docschedule = tm.GetByDoctor(doctor); if (docschedule.Count() > 0) { foreach (var el in docschedule) { if (el.Date == dpDate.SelectedDate.Value) { schedule.Id = el.Id; try { tm.Edit(schedule); } catch (ValidationException) { var result = MessageBox.Show("You can lost patients. Continue?", "Information", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { tm.EditAnyway(schedule); MessageBox.Show("Schedule edited!"); } else { return; } } break; } else { tm.Add(schedule); MessageBox.Show("Schedule added!"); break; } } } else { tm.Add(schedule); MessageBox.Show("Schedule added!"); } this.Close(); }