Kalender Export iCalender

This commit is contained in:
rene
2020-10-22 12:20:35 +02:00
parent bfc7b28d38
commit 1e228ba3a1
4 changed files with 59 additions and 33 deletions

View File

@@ -578,6 +578,7 @@
</ControlTemplate>
</Button.Template>
</Button>
<Button Click="ExportButton_OnClick" Margin="5,1,1,1" ToolTip="Exportieren" Width="24" Height="24"/>
</StackPanel>
<Grid Grid.Column="2" Grid.Row="0" Margin="6,0,0,0" VerticalAlignment="Center">
<Grid.ColumnDefinitions>

View File

@@ -37,6 +37,8 @@ using DevExpress.Xpf.Scheduler;
using DevExpress.Xpf.Scheduler.Reporting;
using DevExpress.XtraScheduler;
using DevExpress.XtraScheduler.Compatibility;
using DevExpress.XtraScheduler.iCalendar;
using Microsoft.Win32;
using Appointment = DevExpress.XtraScheduler.Appointment;
using AppointmentViewInfoCustomizingEventArgs = DevExpress.Xpf.Scheduler.AppointmentViewInfoCustomizingEventArgs;
using ColorConverter = System.Windows.Media.ColorConverter;
@@ -1497,7 +1499,25 @@ namespace BeWo.Scheduler.View
ReloadVM(true);
}
private void ZusagenButtonItem_OnItemClick(object sender, ItemClickEventArgs e)
//private void ExportButton_OnClick(object sender, RoutedEventArgs e)
//{
// SaveFileDialog dialog = new SaveFileDialog
// {
// Filter = "iCalendar files (*.ics)|*.ics",
// FilterIndex = 1
// };
// if (dialog.ShowDialog() == true)
// {
// using (Stream stream = dialog.OpenFile())
// {
// iCalendarExporter exporter = new iCalendarExporter(Scheduler.Storage.InnerStorage);
// exporter.Export(stream);
// }
// }
//}
private void ZusagenButtonItem_OnItemClick(object sender, ItemClickEventArgs e)
{
if (Scheduler.SelectedAppointments.Count <= 0)
{
@@ -1822,45 +1842,50 @@ namespace BeWo.Scheduler.View
});
}
//private void ExportAsiCal(object sender, RoutedEventArgs e)
//{
// var dialog = new SaveFileDialog {Filter = "iCalendar files (*.ics)|*.ics", FilterIndex = 1};
private void ExportButton_OnClick(object sender, RoutedEventArgs e)
{
var dialog = new SaveFileDialog { Filter = "iCalendar files (*.ics)|*.ics", FilterIndex = 1 };
// if (dialog.ShowDialog() != true)
// return;
if (dialog.ShowDialog() != true)
return;
// using (var stream = dialog.OpenFile())
// {
// ExportAppointmentsAs_iCal(stream);
// }
//}
using (var stream = dialog.OpenFile())
{
ExportAppointmentsAs_iCal(stream);
}
}
//void ExportAppointmentsAs_iCal(Stream stream)
//{
// if (stream == null)
// return;
// try
// {
// var productIdentifier = string.Format("-//{0}//DXScheduler iCalendarExchange Example//DE", BeWoApp.Mandator);
// var exporter = new iCalendarExporter(Scheduler.GetCoreStorage()) { ProductIdentifier = productIdentifier };
void ExportAppointmentsAs_iCal(Stream stream)
{
if (stream == null)
return;
try
{
var productIdentifier = string.Format("-//{0}//DXScheduler iCalendarExchange Example//DE", BeWoApp.Mandator);
var exporter = new iCalendarExporter(Scheduler.GetCoreStorage()) { ProductIdentifier = productIdentifier };
// //exporter.AppointmentExporting += OnAppointmentExporting;
// exporter.Export(stream);
// }
// catch (Exception e)
// {
// MessageBox.Show(string.Format("Der Kalender konnte leider nicht exportiert werden.\n{0}", e.Message), "Fehler beim Export", MessageBoxButton.OK, MessageBoxImage.Error);
// }
//}
exporter.AppointmentExporting += OnAppointmentExporting;
exporter.Export(stream);
}
catch (Exception e)
{
MessageBox.Show(string.Format("Der Kalender konnte leider nicht exportiert werden.\n{0}", e.Message), "Fehler beim Export", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
private void OnAppointmentExporting(object sender, AppointmentExportingEventArgs appointmentExportingEventArgs)
{
appointmentExportingEventArgs.Cancel = !Scheduler.ActiveView.GetAppointments().Contains(appointmentExportingEventArgs.Appointment);
}
//private void OnAppointmentExporting(object sender, AppointmentExportingEventArgs appointmentExportingEventArgs)
//{
// var iCalArgs = (iCalendarAppointmentExportingEventArgs) appointmentExportingEventArgs;
// var vEvent = iCalArgs.VEvent;
// var iCalArgs = (iCalendarAppointmentExportingEventArgs)appointmentExportingEventArgs;
// var vEvent = iCalArgs.VEvent;
// var ma = (ObservableCollection<Employee2SchedulerAppointmentDC>)appointmentExportingEventArgs.Appointment.CF_EmployeeList();
// var ca = (List<CompactCustomerDC>)appointmentExportingEventArgs.Appointment.CF_CustomerList();
// var ra = (List<ResourceDC>)appointmentExportingEventArgs.Appointment.CF_ResourceList();
// var ma = (ObservableCollection<Employee2SchedulerAppointmentDC>)appointmentExportingEventArgs.Appointment.CF_EmployeeList();
// var ca = (List<CompactCustomerDC>)appointmentExportingEventArgs.Appointment.CF_CustomerList();
// var ra = (List<ResourceDC>)appointmentExportingEventArgs.Appointment.CF_ResourceList();
//}
//private void SyncWithOutlook(object sender, RoutedEventArgs e)

View File

@@ -144,6 +144,7 @@ namespace BeWo.View.Master
// tabitem_settlement.Visibility = Visibility.Collapsed;
#if DEBUG
tabitem_flexibleReport.Visibility = Visibility.Visible;
tabitem_serviceOverview.Visibility = Visibility.Visible;
tabitem_abwesenheitsTabelle.Visibility = Visibility.Visible;

View File

@@ -386,7 +386,6 @@ namespace BeWo.Service.Plugins
return 0;
}
public virtual void BerechneBewilligteStunden(Calculations calc, SupportConceptOverviewDC iDc, SupportConceptCostBearerRelDC relDc, DateTime? appointedDate)
{