private void beginEdit(EditResult?result = null) { if (tooltip != null) { ((ApptToolTip)tooltip).Close(); } if (_appointment.IsRepeating) { if (!result.HasValue) { EditRecurring dlg = new EditRecurring(Application.Current.MainWindow, EditingType.Open); if (dlg.ShowDialog() == false) { return; } _appointment.RepeatIsExceptionToRule = dlg.EditResult == EditResult.Single; } else { _appointment.RepeatIsExceptionToRule = result.Value == EditResult.Single; } if (!_appointment.RepeatIsExceptionToRule && _appointment.RepeatID != null) { // Load base recurring appointment _appointment = AppointmentDatabase.GetRecurringAppointment(_appointment.RepeatID); } } BeginEditEvent(EventArgs.Empty); }
public void BeginEdit(int insertionPosition = -1) { _uneditedAppointment = new Appointment(_appointment); if (_appointment.IsRepeating) { EditRecurring dlg = new EditRecurring(Window.GetWindow(this), EditingType.Open); if (dlg.ShowDialog() == false) { return; } _appointment.RepeatIsExceptionToRule = dlg.EditResult == EditResult.Single; if (!_appointment.RepeatIsExceptionToRule && _appointment.RepeatID != null) { // Load base recurring appointment _appointment = AppointmentDatabase.GetRecurringAppointment(_appointment.RepeatID); } } _inEditMode = true; if (tooltip != null) { ((ApptToolTip)tooltip).Close(); } BeginEditEvent(EventArgs.Empty); display.Visibility = Visibility.Collapsed; edit.Visibility = Visibility.Visible; edit.IsEnabled = true; subjectEdit.IsEnabled = true; if (_appointment != null) { subjectEdit.Text = _appointment.Subject; } if (insertionPosition == -1) { subjectEdit.CaretIndex = subjectEdit.Text.Length; subjectEdit.ScrollToEnd(); } else { subjectEdit.CaretIndex = insertionPosition; } subjectEdit.Activate(); }
public void AnimatedDelete(bool deleteFromDatabase = true) { if (_isDeleting) { return; } CloseToolTip(); if (deleteFromDatabase && _appointment != null) { if (_appointment.IsRepeating) { EditRecurring dlg = new EditRecurring(Application.Current.MainWindow, EditingType.Delete); if (dlg.ShowDialog() == false) { return; } if (dlg.EditResult == EditResult.Single) { AppointmentDatabase.DeleteOne(_appointment, _appointment.RepresentingDate); } else { AppointmentDatabase.Delete(_appointment); } } else { AppointmentDatabase.Delete(_appointment); } ReminderQueue.RemoveItem(_appointment.ID, _appointment.IsRepeating ? _appointment.RepresentingDate.Add(_appointment.StartDate.TimeOfDay) : _appointment.StartDate, ReminderType.Appointment); } _isDeleting = true; DeleteStartEvent(EventArgs.Empty); if (Settings.AnimationsEnabled) { AnimationHelpers.DeleteAnimation delAnim = new AnimationHelpers.DeleteAnimation(this); delAnim.OnAnimationCompletedEvent += delAnim_OnAnimationCompletedEvent; delAnim.Animate(); } else { DeleteEndEvent(EventArgs.Empty); } }
public void Delete(EditResult?result = null) { CloseToolTip(); if (_appointment != null) { if (_appointment.IsRepeating) { if (!result.HasValue) { EditRecurring dlg = new EditRecurring(Window.GetWindow(this), EditingType.Delete); if (dlg.ShowDialog() == false) { return; } if (dlg.EditResult == EditResult.Single) { AppointmentDatabase.DeleteOne(_appointment, _appointment.RepresentingDate); } else { AppointmentDatabase.Delete(_appointment); } } else { if (result.Value == EditResult.Single) { AppointmentDatabase.DeleteOne(_appointment, _appointment.RepresentingDate); } else { AppointmentDatabase.Delete(_appointment); } } } else { AppointmentDatabase.Delete(_appointment); } ReminderQueue.RemoveItem(_appointment.ID, _appointment.IsRepeating ? _appointment.RepresentingDate.Add(_appointment.StartDate.TimeOfDay) : _appointment.StartDate, ReminderType.Appointment); } IsHitTestVisible = false; DeleteStartEvent(EventArgs.Empty); DeleteEndEvent(EventArgs.Empty); }
private void invokeDoubleClickEvent(EditResult?result = null) { if (_inEditMode) { CancelEdit(); } if (tooltip != null) { tooltip.FastClose(); } if (_appointment.IsRepeating) { if (!result.HasValue) { EditRecurring dlg = new EditRecurring(Window.GetWindow(this), EditingType.Open); if (dlg.ShowDialog() == false) { return; } _appointment.RepeatIsExceptionToRule = dlg.EditResult == EditResult.Single; } else { _appointment.RepeatIsExceptionToRule = result.Value == EditResult.Single; } if (_appointment.RepeatIsExceptionToRule) { // Set the date to the date of this MonthDetail. _appointment.RepresentingDate = _date; } else if (!_appointment.RepeatIsExceptionToRule && _appointment.RepeatID != null) { // Load base recurring appointment _appointment = AppointmentDatabase.GetRecurringAppointment(_appointment.RepeatID); } } DoubleClickEvent(EventArgs.Empty); }