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); }
private void DeserializeAppointments() { IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream(PathToAppointmentsFile, FileMode.Open, FileAccess.Read); appointmentDatabase = formatter.Deserialize(stream) as AppointmentDatabase; stream.Close(); }
private void modifyCategories_Click(object sender, RoutedEventArgs e) { CategoryEditor editor = new CategoryEditor(() => { return(AppointmentDatabase.GetCategories()); }, AppointmentDatabase.AddCategory, AppointmentDatabase.UpdateCategory, AppointmentDatabase.DeleteCategory); editor.Owner = this; editor.ShowDialog(); // We need to refresh all items with a category. CurrentCalendarView().RefreshCategories(); }
private void Resize_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { if (_isResized) { _isResized = false; AppointmentDatabase.UpdateAppointment(_appointment); CalendarPeekContent.RefreshAll(); } Mouse.Capture(null); }
public WeekDetail(DateTime selectedDate, User user) { InitializeComponent(); currentUser = user; appointmentDatabase = Utils.DeserializeAppointmentsFile(PathToAppointmentsFile); SetDateVariables(selectedDate); CreateWeekCells(); SetWeekView(); SetCalendarBlocks(); }
private void loadfromdb() { try { Appointment[] appts = AppointmentDatabase.GetAppointments(new DateTime(_year, _month, _day)); if (appts != null) { Dispatcher.Invoke(() => { additems(appts); }); } } catch (ThreadAbortException) { Thread.ResetAbort(); } }
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); }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); Args = e.Args; CreateJumpList(); // Make the main process appear connected to the update process // in the taskbar. try { SetCurrentProcessExplicitAppUserModelID(GlobalAssemblyInfo.AssemblyName); } catch { } AppointmentDatabase.Load(); AppointmentDatabase.OnSaveCompletedEvent += AppointmentDatabase_OnSaveCompletedEvent; ContactDatabase.Load(); ContactDatabase.OnSaveCompletedEvent += ContactDatabase_OnSaveCompletedEvent; TaskDatabase.Load(); TaskDatabase.OnSaveCompletedEvent += TaskDatabase_OnSaveCompletedEvent; NoteDatabase.Load(); NoteDatabase.OnSaveCompletedEvent += NoteDatabase_OnSaveCompletedEvent; SyncDatabase.Load(); SyncDatabase.OnSaveCompletedEvent += SyncDatabase_OnSaveCompletedEvent; QuoteDatabase.Load(); QuoteDatabase.OnSaveCompletedEvent += QuoteDatabase_OnSaveCompletedEvent; ThemeHelpers.UpdateTheme(true); MainWindow mainWindow = new MainWindow(); mainWindow.ContentRendered += mainWindow_ContentRendered; mainWindow.Show(); SystemEvents.UserPreferenceChanged += SystemEvents_UserPreferenceChanged; SystemEvents.TimeChanged += SystemEvents_TimeChanged; if (BackstageEvents.StaticUpdater == null) { BackstageEvents.StaticUpdater = new BackstageEvents(); } BackstageEvents.StaticUpdater.OnForceUpdateEvent += StaticUpdater_OnForceUpdateEvent; BackstageEvents.StaticUpdater.OnThemeChangedEvent += StaticUpdater_OnThemeChangedEvent; BackstageEvents.StaticUpdater.OnExportEvent += StaticUpdater_OnExportEvent; BackstageEvents.StaticUpdater.OnHelpEvent += StaticUpdater_OnHelpEvent; BackstageEvents.StaticUpdater.OnDocumentRequestEvent += StaticUpdater_OnDocumentRequestEvent; BackstageEvents.StaticUpdater.OnPrintStartedEvent += StaticUpdater_OnPrintStartedEvent; BackstageEvents.StaticUpdater.OnImportEvent += StaticUpdater_OnImportEvent; BackstageEvents.StaticUpdater.OnQuotesChangedEvent += StaticUpdater_OnQuotesChangedEvent; }