public static bool DatesCollide(Appointment oldEvent, DateTime newEventDate, string[] newEventStart, string[] newEventEnd) { if (oldEvent == null) { throw new ArgumentNullException(nameof(oldEvent)); } if (newEventStart == null) { throw new ArgumentNullException(nameof(newEventStart)); } if (newEventEnd == null) { throw new ArgumentNullException(nameof(newEventEnd)); } bool areDifferentDates = oldEvent.Date != newEventDate; int oldEventStartTime = Int32.Parse(oldEvent.GetStart()[hourIndex], NumberFormatInfo.InvariantInfo) + Int32.Parse(oldEvent.GetStart()[minuteIndex], NumberFormatInfo.InvariantInfo) * minutesInAnHour; int oldEventEndTIme = Int32.Parse(oldEvent.GetEnd()[hourIndex], NumberFormatInfo.InvariantInfo) + Int32.Parse(oldEvent.GetEnd()[minuteIndex], NumberFormatInfo.InvariantInfo) * minutesInAnHour; int newEventStartTime = Int32.Parse(newEventStart[hourIndex], NumberFormatInfo.InvariantInfo) + Int32.Parse(newEventStart[minuteIndex], NumberFormatInfo.InvariantInfo) * minutesInAnHour; int newEventEndTime = Int32.Parse(newEventEnd[hourIndex], NumberFormatInfo.InvariantInfo) + Int32.Parse(newEventEnd[minuteIndex], NumberFormatInfo.InvariantInfo) * minutesInAnHour; bool areAtDifferentHours = oldEventStartTime >= newEventEndTime || newEventStartTime >= oldEventEndTIme; if (areDifferentDates || areAtDifferentHours) { return(false); } return(true); }
private void SetEventValues() { TextBoxName.Text = selectedEvent.Name; TextBoxDescription.Text = selectedEvent.Description; DatePickerEventDate.SelectedDate = selectedEvent.Date; ComboBoxStartTimeHour.SelectedItem = ComboBoxStartTimeHour.Items[Int32.Parse(selectedEvent.GetStart()[hourIndex], NumberFormatInfo.InvariantInfo)]; ComboBoxStartTimeMinute.SelectedItem = ComboBoxStartTimeMinute.Items[Int32.Parse(selectedEvent.GetStart()[minuteIndex], NumberFormatInfo.InvariantInfo)]; ComboBoxFinishTimeHour.SelectedItem = ComboBoxFinishTimeHour.Items[Int32.Parse(selectedEvent.GetEnd()[hourIndex], NumberFormatInfo.InvariantInfo)]; ComboBoxFinishTimeMinute.SelectedItem = ComboBoxFinishTimeMinute.Items[Int32.Parse(selectedEvent.GetEnd()[minuteIndex], NumberFormatInfo.InvariantInfo)]; }