private string ExportToString(AppAppointment exportApp)
        {
            ObservableCollection<AppAppointment> ap = new ObservableCollection<AppAppointment>();
            ap.Add(exportApp);
            StringBuilder builder = new StringBuilder();
            using (TextWriter writer = new StringWriter(builder)) {
                AppointmentCalendarExporter exporter = new AppointmentCalendarExporter();
                exporter.Export(ap.OfType<IAppointment>(), writer);
            }

            return builder.ToString();
        }
        private void ExportToFile()
        {
            SaveFileDialog dialog = new SaveFileDialog();
            dialog.DefaultExt = ".ics";
            dialog.Filter = "ICalendar file (.ics)|*.ics";

            bool? result = dialog.ShowDialog();
            if (result.HasValue && result.Value)
            {
                using (Stream stream = dialog.OpenFile())
                {
                    using (TextWriter writer = new StreamWriter(stream))
                    {
                        AppointmentCalendarExporter exporter = new AppointmentCalendarExporter();
                        exporter.Export(this.Appointments.OfType<ScheduleView.IAppointment>(), writer);
                    }
                }
            }
        }