Example #1
0
        private void RecoverAppointment(Appointment appointment)
        {
            FlowDocument document = appointment.DetailsDocument;

            appointment.SaveChangesToDisk = true;
            appointment.DetailsDocument   = document;

            AppointmentDatabase.UpdateAppointment(appointment);
            new RecoveryDatabase(RecoveryVersion.LastRun).RecoveryAppointment = null;

            if (calendarDisplayMode == CalendarMode.Day)
            {
                if ((appointment.IsRepeating && appointment.OccursOnDate(dayView.Date)) ||
                    (!appointment.IsRepeating && appointment.StartDate <= dayView.Date && appointment.EndDate >= dayView.Date))
                {
                    dayView.Refresh();
                }
            }
            else if (calendarDisplayMode == CalendarMode.Month)
            {
                // TODO: Only refresh if appointment occurs in specified month.
                monthView.Refresh();
            }
            else if (calendarDisplayMode == CalendarMode.Week)
            {
                // TODO: Only refresh in appointment occurs in specified week.
                weekView.Refresh();
            }

            CalendarPeekContent.RefreshAll();
        }
Example #2
0
        private void Resize_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (_isResized)
            {
                _isResized = false;
                AppointmentDatabase.UpdateAppointment(_appointment);
                CalendarPeekContent.RefreshAll();
            }

            Mouse.Capture(null);
        }
Example #3
0
        private static void ExecutedLocalDockPeekCommand(object sender, ExecutedRoutedEventArgs e)
        {
            string     param      = (string)e.Parameter;
            MainWindow mainWindow = FindWindow(sender);
            object     content    = null;

            switch (param)
            {
            case "Calendar":
                content = new CalendarPeekContent();
                break;

            case "Notes":
                content = new NotesPeekContent();
                break;

            case "Tasks":
                content = new TasksPeekContent();
                break;

            case "People":
                content = new PeoplePeekContent();
                break;

            case "Weather":
                content = new WeatherPeekContent();
                break;

            default:
                throw new NotImplementedException("");
            }

            foreach (DockedPeek each in mainWindow.dockedPeeks.Items)
            {
                if (each.Content.ToString() == content.ToString())
                {
                    mainWindow.dockedPeeks.Items.Remove(each);
                    return;
                }
            }

            DockedPeek docked = new DockedPeek();

            docked.Content = content;

            mainWindow.dockedPeeks.Items.Add(docked);
            mainWindow.SwitchToNormalMode();
        }