push test

This commit is contained in:
staccatomamba
2017-08-28 16:41:19 +02:00
parent ed546541b7
commit b5989dfd72
22 changed files with 825 additions and 529 deletions

View File

@@ -105,6 +105,7 @@
<Reference Include="DevExpress.Xpf.Core.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Charts.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Docking.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.DocumentViewer.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Xpf.Grid.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Grid.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Layout.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -1348,7 +1349,7 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\SchulbegleitenderDienst.xaml">
<Page Include="View\SchulbegleitenderDienst.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -1763,7 +1764,7 @@
<Compile Include="View\PercentageDisplay.xaml.cs">
<DependentUpon>PercentageDisplay.xaml</DependentUpon>
</Compile>
<Compile Include="View\SchulbegleitenderDienst.xaml.cs">
<Compile Include="View\SchulbegleitenderDienst.xaml.cs">
<DependentUpon>SchulbegleitenderDienst.xaml</DependentUpon>
</Compile>
<Compile Include="View\Report\AnnualReport\AnnualReportChartControl.xaml.cs">

View File

@@ -5,14 +5,12 @@ using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;
using System.Windows.Input;
using System.Windows.Media.Imaging;
using BS.Shared;
@@ -46,6 +44,8 @@ using MessageBox = System.Windows.MessageBox;
using Panel = System.Windows.Controls.Panel;
using System.Windows.Media;
using DevExpress.Xpf.Bars;
using DevExpress.Xpf.DocumentViewer;
using DevExpress.Xpf.Printing.PreviewControl.Bars;
namespace BeWo.Core
{
@@ -113,7 +113,7 @@ namespace BeWo.Core
}
catch (Exception)
{
var msg = System.Text.Encoding.ASCII.GetString(ms.ToArray());
var msg = Encoding.ASCII.GetString(ms.ToArray());
MessageBox.Show("Beim Öffnen der Druckvorschau ist leider ein Fehler aufgetreten!\n\n" + msg, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
@@ -128,7 +128,10 @@ namespace BeWo.Core
BeWoWindow window = null;
var dp = documentPreview;
if (dp == null)
//DocumentPreviewControl dp = null
if (dp == null)
{
dp = new DocumentPreview();
window = new BeWoWindow {GroupBoxContent = dp, Owner = BeWoApp.CurrentBeWo.MainWindow};
@@ -138,23 +141,23 @@ namespace BeWo.Core
// ReportPreviewModelLandscapeBugWorkaround statt des XtraReportPreviewModels wegen des Landscape-Bugs
dp.Model = new ReportPreviewModelLandscapeBugWorkaround(report);
ThemeManager.SetTheme(dp, Theme.Office2007Black);
dp.BarManager.Loaded += delegate
{
dp.BarManager.Items["documentMap"].IsVisible = false;
dp.BarManager.Items["open"].IsVisible = false;
dp.BarManager.Items["email"].IsVisible = false;
dp.BarManager.Items["watermark"].IsVisible = false;
dp.BarManager.Items["pageSetup"].IsVisible = false;
dp.BarManager.Items["scaling"].IsVisible = false;
dp.BarManager.Items["save"].IsVisible = false;
dp.BarManager.Items["printDirect"].IsVisible = false;
dp.BarManager.Items["exportText"].IsVisible = false;
dp.BarManager.Items["exportCSV"].IsVisible = false;
dp.BarManager.Items["exportMHT"].IsVisible = false;
dp.BarManager.Items["exportXPS"].IsVisible = false;
var item = dp.BarManager.Items["exportRTF"];
};
//dp.BarManager.Loaded += delegate
//{
// dp.BarManager.Items["documentMap"].IsVisible = false;
// dp.BarManager.Items["open"].IsVisible = false;
// dp.BarManager.Items["email"].IsVisible = false;
// dp.BarManager.Items["watermark"].IsVisible = false;
// dp.BarManager.Items["pageSetup"].IsVisible = false;
// dp.BarManager.Items["scaling"].IsVisible = false;
// dp.BarManager.Items["save"].IsVisible = false;
// dp.BarManager.Items["printDirect"].IsVisible = false;
// dp.BarManager.Items["exportText"].IsVisible = false;
// dp.BarManager.Items["exportCSV"].IsVisible = false;
// dp.BarManager.Items["exportMHT"].IsVisible = false;
// dp.BarManager.Items["exportXPS"].IsVisible = false;
// var item = dp.BarManager.Items["exportRTF"];
//};
if (window != null)
{
window.rootGroupBox.Header = String.IsNullOrEmpty(title) ? "Druckvorschau" : title;
@@ -168,7 +171,120 @@ namespace BeWo.Core
}));
}
public static void StartGetReportStreamAsync(Func<String, MemoryStream> func, String param, Action<MemoryStream> callback)
public static void NavigateToReportUriWithDocumentPreviewControl(string navigateUriString, string title, DocumentPreviewControl dp)
{
BeWoApp.MainControl.StartWaiting();
StartGetReportStreamAsync(GetReportStreamForWPFControl, navigateUriString, ms => BeWoApp.MainControl.Dispatch(delegate
{
var report = new XtraReport();
try
{
report.PrintingSystem.LoadDocument(ms);
}
catch(Exception)
{
var msg = Encoding.ASCII.GetString(ms.ToArray());
MessageBox.Show("Beim Öffnen der Druckvorschau ist leider ein Fehler aufgetreten!\n\n" + msg, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
ms.Close();
ms.Dispose();
report.DefaultPrinterSettingsUsing.UseLandscape = BeWoApp.AppSettings.PrinterSettingsUseLandscape;
report.DefaultPrinterSettingsUsing.UseMargins = BeWoApp.AppSettings.PrinterSettingsUseMargins;
report.DefaultPrinterSettingsUsing.UsePaperKind = BeWoApp.AppSettings.PrinterSettingsUsePaperKind;
BeWoWindow window = null;
dp = null;
if(dp == null)
{
dp = new DocumentPreviewControl();
window = new BeWoWindow { GroupBoxContent = dp, Owner = BeWoApp.CurrentBeWo.MainWindow };
ThemeManager.SetTheme(window, Theme.Office2010Black);
}
// ReportPreviewModelLandscapeBugWorkaround statt des XtraReportPreviewModels wegen des Landscape-Bugs
//dp.Model = new ReportPreviewModelLandscapeBugWorkaround(report);
dp.CommandBarStyle = CommandBarStyle.Bars;
dp.Loaded += CustomizeReportPreviewToolBar;
ThemeManager.SetTheme(dp, Theme.Office2007Black);
dp.Visibility = Visibility.Visible;
report.CreateDocument();
dp.DocumentSource = report;
if(window != null)
{
window.rootGroupBox.Header = String.IsNullOrEmpty(title) ? "Druckvorschau" : title;
window.Title = "Druckvorschau";
window.Show();
}
BeWoApp.MainControl.EndWaiting();
}));
}
private static void CustomizeReportPreviewToolBar(object s, RoutedEventArgs e)
{
var cont = LayoutHelper.FindElementByType(s as FrameworkElement, typeof(BarContainerControl)) as BarContainerControl;
var toolbar = cont.Bars.First() as ToolBarControl;
foreach(var item in toolbar.Items)
{
if(item.GetType() == typeof(OpenDocumentBarItem) ||
item.GetType() == typeof(DocumentMapBarCheckItem) ||
item.GetType() == typeof(WatermarkBarItem) ||
item.GetType() == typeof(ScaleBarItem) ||
item.GetType() == typeof(PrintDirectBarItem) ||
item.GetType() == typeof(PageSetupBarItem) ||
item.GetType() == typeof(SaveBarItem) ||
item.GetType() == typeof(SendSplitItem) ||
item.GetType() == typeof(ParametersBarCheckItem) ||
item.GetType() == typeof(ThumbnailsBarCheckItem) ||
item.GetType() == typeof(EditingFieldsBarCheckItem))
{
item.SetPropertyValue("IsVisible", false);
}
if(item.GetType() == typeof(ExportSplitItem))
{
var exportSplitItem = item as ExportSplitItem;
var popupMenu = (PopupMenu) exportSplitItem.PopupControl;
foreach(var link in popupMenu.Items)
{
var bbi = (BarButtonItem) link;
switch(bbi.BarItemName)
{
case "bExportMht":
bbi.IsVisible = false;
break;
case "bExportCsv":
bbi.IsVisible = false;
break;
case "bExportTxt":
bbi.IsVisible = false;
break;
}
}
}
}
}
public static void StartGetReportStreamAsync(Func<string, MemoryStream> func, string param, Action<MemoryStream> callback)
{
func.BeginInvoke(param,
cb =>
@@ -1792,7 +1908,7 @@ namespace BeWo.Core
/// <param name="documentPreview">Documentpreview für den Report</param>
/// <param name="variablen">Dictionary mit Variablen für das ReportObject</param>
/// <param name="reportType">Der Typ des Reports (z.B. KalenderMonatsformatReport)</param>
public static void ShowReport(string title, DocumentPreview documentPreview, Dictionary<String, Object> variablen, ReportEnum reportType)
public static void ShowReport(string title, Dictionary<string, object> variablen, ReportEnum reportType)
{
switch (reportType)
{
@@ -1803,8 +1919,8 @@ namespace BeWo.Core
var serienTermine = (List<SchedulerAppointmentDC>)variablen["serienTermine"];
var mehrtaegigeTermine = (List<SchedulerAppointmentDC>)variablen["mehrtaegigeTermine"];
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKalenderReport(appointmentIds, employeeOid, serienTermine, selectedDays, mehrtaegigeTermine),
ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, documentPreview, title)));
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKalenderReport(appointmentIds, employeeOid, serienTermine, selectedDays, mehrtaegigeTermine), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, title)));
break;
case ReportEnum.KassenbuchReportEnum:
var zeitraum = (DateTime) variablen["zeitraum"];
@@ -1813,11 +1929,8 @@ namespace BeWo.Core
var endzeitraum = (DateTime)variablen["endzeitraum"];
var kasse = (BargeldkassenDC) variablen["bargeldkasse"];
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKassenbuchReportImZeitraum(zeitraum,endzeitraum, kasse, objectOid, objectTid), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, documentPreview, title)));
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKassenbuchReportImZeitraum(zeitraum,endzeitraum, kasse, objectOid, objectTid), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, title)));
break;
case ReportEnum.ZahlungsbelegEnum:
@@ -1825,32 +1938,27 @@ namespace BeWo.Core
var objectOid2 = Convert.ToInt64(variablen["objectoid"]);
var objectTid2 = (TableID) Enum.Parse(typeof(TableID), variablen["objecttid"].ToString());
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKassenbelegReport(transaktion, objectOid2, objectTid2), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, documentPreview, title)));
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKassenbelegReport(transaktion, objectOid2, objectTid2), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, title)));
break;
}
}
public static void ShowReportWindow(MemoryStream ms, DocumentPreview documentPreview, String title)
public static void ShowReportWindow(MemoryStream ms, string title)
{
var report = new XtraReport();
try
{
var scrollablePageView = (IScrollInfo)LayoutHelper.FindElement(documentPreview,
p => p.GetType() == typeof(DevExpress.Xpf.Printing.Native.ScrollablePageView
));
if (scrollablePageView != null)
scrollablePageView.PageUp();
report.PrintingSystem.LoadDocument(ms);
}
catch (Exception)
{
var msg = System.Text.Encoding.ASCII.GetString(ms.ToArray());
var msg = Encoding.ASCII.GetString(ms.ToArray());
MessageBox.Show("Beim Öffnen der Druckvorschau ist leider ein Fehler aufgetreten!\n\n" + msg, "Fehler",
MessageBoxButton.OK, MessageBoxImage.Exclamation);
MessageBox.Show("Beim Öffnen der Druckvorschau ist leider ein Fehler aufgetreten!\n\n" + msg, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
}
ms.Close();
ms.Dispose();
@@ -1858,47 +1966,28 @@ namespace BeWo.Core
report.DefaultPrinterSettingsUsing.UseMargins = BeWoApp.AppSettings.PrinterSettingsUseMargins;
report.DefaultPrinterSettingsUsing.UsePaperKind = BeWoApp.AppSettings.PrinterSettingsUsePaperKind;
BeWoWindow window = null;
var dp = new DocumentPreviewControl();
var window = new BeWoWindow { GroupBoxContent = dp, Owner = BeWoApp.CurrentBeWo.MainWindow };
ThemeManager.SetTheme(window, Theme.Office2010Black);
dp.DocumentSource = report;
dp.CommandBarStyle = CommandBarStyle.Bars;
dp.Loaded += CustomizeReportPreviewToolBar;
DocumentPreview dp = documentPreview;
if (dp == null)
{
dp = new DocumentPreview();
window = new BeWoWindow { GroupBoxContent = dp, Owner = BeWoApp.CurrentBeWo.MainWindow };
ThemeManager.SetTheme(window, Theme.Office2010Black);
}
dp.Model = new ReportPreviewModelLandscapeBugWorkaround(report);
ThemeManager.SetTheme(dp, Theme.Office2007Black);
dp.BarManager.Loaded += delegate
{
dp.BarManager.Items["documentMap"].IsVisible = false;
dp.BarManager.Items["open"].IsVisible = false;
dp.BarManager.Items["email"].IsVisible = false;
dp.BarManager.Items["watermark"].IsVisible = false;
dp.BarManager.Items["pageSetup"].IsVisible = false;
dp.BarManager.Items["scaling"].IsVisible = false;
dp.BarManager.Items["save"].IsVisible = false;
dp.BarManager.Items["printDirect"].IsVisible = false;
dp.BarManager.Items["exportText"].IsVisible = false;
dp.BarManager.Items["exportCSV"].IsVisible = false;
dp.BarManager.Items["exportMHT"].IsVisible = false;
dp.BarManager.Items["exportXPS"].IsVisible = false;
var item = dp.BarManager.Items["exportRTF"];
};
if (window != null)
{
window.rootGroupBox.Header = String.IsNullOrEmpty(title) ? "Druckvorschau" : title;
window.Title = "Druckvorschau";
window.Show();
}
window.rootGroupBox.Header = String.IsNullOrEmpty(title) ? "Druckvorschau" : title;
window.Title = "Druckvorschau";
window.Show();
dp.Visibility = Visibility.Visible;
BeWoApp.MainControl.EndWaiting();
}
public static PasswortSecurityStrength CheckPasswordSecurity(string paswd)
{
string zahlen = "0123456789";
@@ -1967,7 +2056,6 @@ namespace BeWo.Core
}
}
public static void ShowImageForm(ImageSource source)
{
@@ -2017,7 +2105,6 @@ namespace BeWo.Core
public static void CreateZeiterfassung(DateTime start, DateTime end, List<CompactCustomerDC> customer, List<CompactEmployeeDC> employees, String notice)
{
if (customer.Count == 0)
{
@@ -2049,7 +2136,5 @@ namespace BeWo.Core
}
}
}
}

View File

@@ -37,7 +37,7 @@ namespace BeWo.Scheduler
void InitNewAppointment(Appointment appointment);
bool HideAppointment(string filterCategory, object selectedObject, Appointment appointment, bool showPrivateAppointments);
bool HideAppointment(string filterCategory, object selectedObject, Appointment appointment, bool showPrivateAppointments, bool showAbsenceTimes);
void InitChangedOccurrencyCustomFields(IEnumerable<SchedulerAppointmentDC> appList);
}

View File

@@ -345,16 +345,16 @@
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center">
<dxschint:AppointmentContinueStartDateControl ViewInfo="{Binding}" Margin="12, 2, 0, 2" />
<dxschint:HorizontalAppointmentStartClockControl ViewInfo="{Binding}" Margin="12, 2, 0, 2" />
<dxschint:AppointmentContinueStartDateControl ViewInfo="{Binding}" Margin="12, 4, 0, 2" Foreground="Black" VerticalAlignment="Center" />
<dxschint:HorizontalAppointmentStartClockControl ViewInfo="{Binding}" Margin="12, 4, 0, 2" VerticalAlignment="Center" />
</StackPanel>
<dxschint:HorizontalAppointmentContentPanel Grid.Column="1" ClipToBounds="True" VerticalAlignment="Center" Margin="2,0,2,0">
<dxschint:AppointmentImagesControl HorizontalAlignment="Center" ViewInfo="{Binding}" Orientation="Horizontal" />
<TextBlock Text="{Binding Subject}" VerticalAlignment="Center" TextWrapping="Wrap" Foreground="Black" Margin="8, 2, 0, 0" />
</dxschint:HorizontalAppointmentContentPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center">
<dxschint:HorizontalAppointmentEndClockControl ViewInfo="{Binding}" Margin="0, 2, 12, 2" />
<dxschint:AppointmentContinueEndDateControl ViewInfo="{Binding}" Margin="0, 2, 12, 2" />
<dxschint:HorizontalAppointmentEndClockControl ViewInfo="{Binding}" Margin="0, 4, 12, 2" VerticalAlignment="Center" />
<dxschint:AppointmentContinueEndDateControl ViewInfo="{Binding}" Margin="0, 4, 12, 2" Foreground="Black" VerticalAlignment="Center" />
</StackPanel>
</Grid>
</DataTemplate>
@@ -649,7 +649,7 @@
Unchecked="MitarbeiterfarbenEinAusCheckBox_OnChecked"
IsChecked="{Binding Path=IsEmployeeBrushVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type view:NewSchedulerView}}, Mode=TwoWay}" />
<CheckBox Grid.Column="1" Content="Abwesenheiten Ein/Aus" Margin="17,0,0,0" x:Name="AbwesenheitenEinAusCheckBox" Checked="AbwesenheitenEinAusCheckBox_OnChecked"
Unchecked="AbwesenheitenEinAusCheckBox_OnChecked" Visibility="Collapsed"
Unchecked="AbwesenheitenEinAusCheckBox_OnChecked"
IsChecked="{Binding Path=IsAbsenceTimeVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type view:NewSchedulerView}}, Mode=TwoWay}" />
<TextBlock IsEnabled="{Binding Enabled, UpdateSourceTrigger=PropertyChanged}" Grid.Column="0" Grid.ColumnSpan="3" VerticalAlignment="Center" HorizontalAlignment="Center">
<Hyperlink RequestNavigate="ShowAppointmentRequests" NavigateUri="#" IsEnabled="{Binding Enabled, UpdateSourceTrigger=PropertyChanged}">

View File

@@ -685,7 +685,9 @@ namespace BeWo.Scheduler.View
SelectedResources = cb.IsChecked.Value ? new List<ResourceDC>(AllResources) : new List<ResourceDC>();
if (CheckBoxConverter != null && SelectedResources != null)
CheckBoxConverter.SelektierteRessourcen = SelectedResources;
{
CheckBoxConverter.SelektierteRessourcen = SelectedResources;
}
Scheduler.ActiveView.LayoutChanged();
}
@@ -911,7 +913,7 @@ namespace BeWo.Scheduler.View
if (showOnlyPrivateApps)
{
e.Cancel = ViewModel.ActiveAppointmentViewModel.HideAppointment("NurPrivate", null, ((Appointment) e.Object), true);
e.Cancel = ViewModel.ActiveAppointmentViewModel.HideAppointment("NurPrivate", null, (Appointment) e.Object, true, IsAbsenceTimeVisible);
}
var me = MitarbeiterEbenenCheckBox.IsChecked.HasValue && MitarbeiterEbenenCheckBox.IsChecked.Value;
@@ -920,21 +922,21 @@ namespace BeWo.Scheduler.View
if ((me || ke || re) && !SelectedItems.Any())
{
e.Cancel = ViewModel.ActiveAppointmentViewModel.HideAppointment("Ebenen", new List<bool> { me, re, ke }, ((Appointment)e.Object), showOnlyPrivateApps);
e.Cancel = ViewModel.ActiveAppointmentViewModel.HideAppointment("Ebenen", new List<bool> { me, re, ke }, (Appointment) e.Object, showOnlyPrivateApps, IsAbsenceTimeVisible);
return;
}
var m = CheckBoxConverter.SelektierteMitarbeiter;
var r = CheckBoxConverter.SelektierteRessourcen;
var k = CheckBoxConverter.SelektierteKlienten;
;
if ((m.Any() || r.Any() || k.Any()) && ZeigeNurMeineTermineCheckBox.IsChecked == false)
{
e.Cancel = ViewModel.ActiveAppointmentViewModel.HideAppointment("NachAuswahl", new Dictionary<string, object> { { "Mitarbeiter", m }, { "Ressourcen", r }, { "Klienten", k } }, ((Appointment)e.Object), showOnlyPrivateApps);
e.Cancel = ViewModel.ActiveAppointmentViewModel.HideAppointment("NachAuswahl", new Dictionary<string, object> { { "Mitarbeiter", m }, { "Ressourcen", r }, { "Klienten", k } }, (Appointment) e.Object, showOnlyPrivateApps, IsAbsenceTimeVisible);
return;
}
e.Cancel = ViewModel.ActiveAppointmentViewModel.HideAppointment("NurEigene", new Dictionary<string, object> { { "Mitarbeiter", m }, { "Ressourcen", r }, { "Klienten", k }, {"Teams", EmployeesTeams} }, ((Appointment)e.Object), showOnlyPrivateApps);
e.Cancel = ViewModel.ActiveAppointmentViewModel.HideAppointment("NurEigene", new Dictionary<string, object> { { "Mitarbeiter", m }, { "Ressourcen", r }, { "Klienten", k }, {"Teams", EmployeesTeams} }, (Appointment) e.Object, showOnlyPrivateApps, IsAbsenceTimeVisible);
}
private void NewSchedulerStorage_AppointmentDeleting(object sender, PersistentObjectCancelEventArgs e)
@@ -1061,10 +1063,15 @@ namespace BeWo.Scheduler.View
private void AllowAppointmentAenderung(object sender, AppointmentOperationEventArgs e)
{
var darfTerminDetailsSehen = true;
var appointment = e.Appointment;
if ((bool) appointment.CustomFields["IsAbsenceTime"])
{
e.Allow = false;
return;
}
var ersteller = (CompactEmployeeDC) appointment.CustomFields["Originator"];
var mitarbeiterliste = (List<Employee2SchedulerAppointmentDC>)appointment.CustomFields["EmployeeList"];
@@ -1567,7 +1574,7 @@ namespace BeWo.Scheduler.View
datesList.AddRange(range.Select(x => x.Start));
}
var apps = Scheduler.ActiveView.GetAppointments().ToList();
var apps = Scheduler.ActiveView.GetAppointments().Where(w => w.CustomFields["IsAbsenceTime"] == null || (bool) w.CustomFields["IsAbsenceTime"] == false).ToList();
var appointmentOidListe = apps.Where(w => (!w.IsOccurrence && !w.IsRecurring) || w.IsException).Select(app => Convert.ToInt64(((SchedulerAppointmentVM) app.GetSourceObject(Scheduler.GetCoreStorage())).Id)).Distinct().ToList();
var serienTerminOids = apps.Where(w => w.IsRecurring || w.IsOccurrence).Select(app => Convert.ToInt64(((SchedulerAppointmentVM)app.RecurrencePattern.GetSourceObject(Scheduler.GetCoreStorage())).Id)).Distinct().ToList();
var serienTermine = new List<SchedulerAppointmentDC>();
@@ -1734,7 +1741,7 @@ namespace BeWo.Scheduler.View
{"mehrtaegigeTermine", neueTermine}
};
BeWoUtils.ShowReport("Kalender", null, variablenDictionary, ReportEnum.KalenderMonatsReportEnum);
BeWoUtils.ShowReport("Kalender", variablenDictionary, ReportEnum.KalenderMonatsReportEnum);
}
public void PreselectCustomer(long pCustomerOid)
@@ -1832,6 +1839,7 @@ namespace BeWo.Scheduler.View
{
var cb = (CheckBox) sender;
IsAbsenceTimeVisible = cb.IsChecked ?? true;
Scheduler.ActiveView.LayoutChanged();
}
}

View File

@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Windows;

View File

@@ -101,8 +101,7 @@ namespace BeWo.Scheduler.View
}
}
public SchedulerAppointmentEditForm(SchedulerAppointmentListVM vm, SchedulerControl schedulerControl, Appointment appointment,
IEnumerable<CompactEmployeeDC> employees, IEnumerable<CompactCustomerDC> customers, Dictionary<ValueListEntryDC, List<ResourceDC>> categoriesToResources)
public SchedulerAppointmentEditForm(SchedulerAppointmentListVM vm, SchedulerControl schedulerControl, Appointment appointment, IEnumerable<CompactEmployeeDC> employees, IEnumerable<CompactCustomerDC> customers, Dictionary<ValueListEntryDC, List<ResourceDC>> categoriesToResources)
: base(schedulerControl, appointment)
{
ViewModel = vm;
@@ -145,13 +144,19 @@ namespace BeWo.Scheduler.View
private void InitRights()
{
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnlegen))
{
MitarbeiterPopUpOeffnenBtn.Visibility = Visibility.Collapsed;
}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAnlegen))
{
KlientenPopUpOeffnenBtn.Visibility = Visibility.Collapsed;
}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAnlegen))
{
RessourcenPopUpOeffnenBtn.Visibility = Visibility.Collapsed;
}
var m = SelectedEmployees;
var k = SelectedCustomers;
@@ -162,15 +167,25 @@ namespace BeWo.Scheduler.View
if (!NewSchedulerAppointmentFormController.Originator.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid))
{
if (m.Count > 0 && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAendern))
{
allowedToChange = false;
}
if (k.Count > 0 && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAendern))
{
allowedToChange = false;
}
if (r.Count > 0 && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAendern))
{
allowedToChange = false;
}
}
if (allowedToChange)
if (allowedToChange)
{
return;
}
OKButton.Visibility = Visibility.Hidden;
DeleteButton.Visibility = Visibility.Hidden;

View File

@@ -9,7 +9,7 @@ using BeWo.ServiceProxy;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using DevExpress.XtraPrinting.Native;
using DevExpress.DataProcessing;
using DevExpress.XtraScheduler;
namespace BeWo.Scheduler.ViewModel
@@ -41,39 +41,40 @@ namespace BeWo.Scheduler.ViewModel
}
}
public void UpdateAppointmentViewModel(DateTime intervalStart, DateTime intervalEnd)
private List<CompactEmployeeDC> allEmployees = new List<CompactEmployeeDC>();
public void UpdateAppointmentViewModel(DateTime pIntervalStart, DateTime pIntervalEnd)
{
if (!BeWoApp.LoggedOnEmployee.EmployeeOid.HasValue)
if(!BeWoApp.LoggedOnEmployee.EmployeeOid.HasValue)
{
return;
}
var allEmps = new List<CompactEmployeeDC>();
var appointments = new List<SchedulerAppointmentDC>();
var allCust = new List<CompactCustomerDC>();
var abwesenheiten = new List<AbsenceTimeDC>();
allEmps = Cache.GetInstance().GetAllActiveEmployeesCompactSync();
allEmployees = Cache.GetInstance().GetAllActiveEmployeesCompactSync();
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen))
if(!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen))
{
ServiceFacade.DoEmployeeServiceSync(es => allEmps = new List<CompactEmployeeDC> { es.LoadCompactEmployee(BeWoApp.LoggedOnEmployee.EmployeeOid.Value) });
ServiceFacade.DoEmployeeServiceSync(es => allEmployees = new List<CompactEmployeeDC> { es.LoadCompactEmployee(BeWoApp.LoggedOnEmployee.EmployeeOid.Value) });
}
ServiceFacade.DoResourceServiceSync(s => mAllCats2ResInDic = s.GetAllCategories2ResourcesInDictionary());
var start = intervalStart - NewSchedulerView.FetchPadding;
var end = intervalEnd + NewSchedulerView.FetchPadding;
var start = pIntervalStart - NewSchedulerView.FetchPadding;
var end = pIntervalEnd + NewSchedulerView.FetchPadding;
ServiceFacade.DoResourceServiceSync(rs => appointments = rs.GetAllActiveAppointmentsForEmployeeInInterval2(start, end, BeWoApp.LoggedOnEmployee.EmployeeOid.Value, BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen)));
//ServiceFacade.DoResourceServiceSync(rs => abwesenheiten = rs.);
ServiceFacade.DoResourceServiceSync(rs => abwesenheiten = rs.GetAllActiveAbsenceTimesInInterval(start, end, BeWoApp.LoggedOnEmployee.EmployeeOid.Value, BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen)));
allCust = Cache.GetInstance().GetAllActiveCustomersCompactSync();
if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_ViewMyCustomers) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Customer_ViewMyCustomers) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
{
allCust = allCust.Where(c => BeWoApp.LoggedOnEmployee.RelatedCustomers.Any(a => a.Customer.Equals(c))).ToList();
}
@@ -83,13 +84,13 @@ namespace BeWo.Scheduler.ViewModel
BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnsehen)) && (!w.EmployeeList.TrueForAll(e2a => e2a.ParticipationAnswer == ParticipationAnswer.Absage) || (w.EmployeeList == null || w.EmployeeList.Count == 0)));
//###cb testen :w.EmployeeList.IsEmpty geht nicht mehr
var vm = new SchedulerAppointmentListVM(prefilteredAppointments.ToList(), allCust, allEmployees, mAllCats2ResInDic);
vm.VMList.AddRange(ConvertAbsenceTimesToAppointments(abwesenheiten, end));
var vm = new SchedulerAppointmentListVM(prefilteredAppointments.ToList(), allCust, allEmps, mAllCats2ResInDic);
ActiveAppointmentViewModel = vm;
ActiveAppointmentViewModel = vm;
SchedulerSettings = GetActiveSettings();
SchedulerSettings.StartDate = intervalStart;
SchedulerSettings.StartDate = pIntervalStart;
}
public AbstractAppointmentEditForm GetEditAppointmentForm(DevExpress.Xpf.Scheduler.SchedulerControl control, Appointment appointment)
@@ -99,8 +100,10 @@ namespace BeWo.Scheduler.ViewModel
internal void InitNewAppointment(Appointment appointment)
{
if(ActiveAppointmentViewModel != null)
ActiveAppointmentViewModel.InitNewAppointment(appointment);
if(ActiveAppointmentViewModel != null)
{
ActiveAppointmentViewModel.InitNewAppointment(appointment);
}
}
public SchedulerSettings SchedulerSettings { get; set; }
@@ -109,5 +112,17 @@ namespace BeWo.Scheduler.ViewModel
{
return ActiveAppointmentViewModel == null ? null : SchedulerSettings ?? ActiveAppointmentViewModel.GetDefaultSchedulerSettings();
}
private IEnumerable<SchedulerAppointmentVM> ConvertAbsenceTimesToAppointments(IEnumerable<AbsenceTimeDC> pAbsenceTimes, DateTime pIntervalEnd)
{
var result = new List<SchedulerAppointmentVM>();
foreach(var abwesenheit in pAbsenceTimes)
{
result.Add(new SchedulerAppointmentVM(true, abwesenheit.Reason.Description, abwesenheit.Start.Value, abwesenheit.End ?? pIntervalEnd, allEmployees.FirstOrDefault(f => f.EmployeeOid == abwesenheit.EmployeeOid.Value)));
}
return result;
}
}
}

View File

@@ -26,11 +26,12 @@ namespace BeWo.Scheduler.ViewModel
{
public class SchedulerAppointmentListVM : AbstractDCListMapperVM<SchedulerAppointmentDC, SchedulerAppointmentVM>, ISchedulerViewModel
{
private const string CF_EMPLOYEELIST = "EmployeeList";
private const string CF_CUSTOMERLIST = "CustomerList";
private const string CF_RESOURCELIST = "ResourceList";
private const string CF_ORIGINATOR = "Originator";
private const string CF_ISPRIVATE = "IsPrivate";
private const string CF_EMPLOYEELIST = "EmployeeList";
private const string CF_CUSTOMERLIST = "CustomerList";
private const string CF_RESOURCELIST = "ResourceList";
private const string CF_ORIGINATOR = "Originator";
private const string CF_ISPRIVATE = "IsPrivate";
private const string CF_ISABSENCETIME = "IsAbsenceTime";
public bool ShouldLockOverlappingAppointmentCheck { get; set; }
@@ -118,6 +119,7 @@ namespace BeWo.Scheduler.ViewModel
item.CustomFields.Add(CF_RESOURCELIST, item.ResourceList);
item.CustomFields.Add(CF_ORIGINATOR, item.Originator);
item.CustomFields.Add(CF_ISPRIVATE, item.IsPrivate);
item.CustomFields.Add(CF_ISABSENCETIME, item.IsAbsenceTime);
item.Id = item.DataContract.SchedulerAppointmentOid;
@@ -127,7 +129,7 @@ namespace BeWo.Scheduler.ViewModel
}
item.Description = "Privater Termin";
item.Subject = String.Format("Privat ({0})", item.Originator);
item.Subject = string.Format("Privat ({0})", item.Originator);
}
}
@@ -288,33 +290,34 @@ namespace BeWo.Scheduler.ViewModel
vm.Originator = app.CustomFields[CF_ORIGINATOR] as CompactEmployeeDC;
vm.IsPrivate = app.CustomFields[CF_ISPRIVATE] != null && (bool) app.CustomFields[CF_ISPRIVATE];
// Soll nicht mehr geschehen
//if (!vm.EmployeeList.Select(s => s.Employee).Contains(vm.Originator))
// vm.EmployeeList.Add(new Employee2SchedulerAppointmentDC {Employee = vm.Originator, ParticipationAnswer = ParticipationAnswer.Zusage});
if (!vm.CustomFields.ContainsKey("EmployeeList"))
if (!vm.CustomFields.ContainsKey(CF_EMPLOYEELIST))
{
vm.CustomFields.Add("EmployeeList", vm.EmployeeList);
vm.CustomFields.Add(CF_EMPLOYEELIST, vm.EmployeeList);
}
if (!vm.CustomFields.ContainsKey("CustomerList"))
if (!vm.CustomFields.ContainsKey(CF_CUSTOMERLIST))
{
vm.CustomFields.Add("CustomerList", vm.CustomerList);
vm.CustomFields.Add(CF_CUSTOMERLIST, vm.CustomerList);
}
if (!vm.CustomFields.ContainsKey("ResourceList"))
if (!vm.CustomFields.ContainsKey(CF_RESOURCELIST))
{
vm.CustomFields.Add("ResourceList", vm.ResourceList);
vm.CustomFields.Add(CF_RESOURCELIST, vm.ResourceList);
}
if (!vm.CustomFields.ContainsKey("Originator"))
if (!vm.CustomFields.ContainsKey(CF_ORIGINATOR))
{
vm.CustomFields.Add("Originator", vm.Originator);
vm.CustomFields.Add(CF_ORIGINATOR, vm.Originator);
}
if (!vm.CustomFields.ContainsKey("IsPrivate"))
if (!vm.CustomFields.ContainsKey(CF_ISPRIVATE))
{
vm.CustomFields.Add("IsPrivate", vm.IsPrivate);
vm.CustomFields.Add(CF_ISPRIVATE, vm.IsPrivate);
}
if(!vm.CustomFields.ContainsKey(CF_ISABSENCETIME))
{
vm.CustomFields.Add(CF_ISABSENCETIME, vm.IsAbsenceTime);
}
if (vm.CommitToDataContract() != null && vm.CommitToDataContract().SchedulerAppointmentOid.HasValue && vm.EmployeeList != null && vm.EmployeeList.Count > 0)
@@ -350,11 +353,12 @@ namespace BeWo.Scheduler.ViewModel
{
if (app.Type.Equals(AppointmentType.ChangedOccurrence))
{
app.CustomFields["EmployeeList"] = changedOccurencyCustomFields[id][index]["EmployeeList"];
app.CustomFields["CustomerList"] = changedOccurencyCustomFields[id][index]["CustomerList"];
app.CustomFields["ResourceList"] = changedOccurencyCustomFields[id][index]["ResourceList"];
app.CustomFields["Originator"] = changedOccurencyCustomFields[id][index]["Originator"];
app.CustomFields["IsPrivate"] = changedOccurencyCustomFields[id][index]["IsPrivate"];
app.CustomFields[CF_EMPLOYEELIST] = changedOccurencyCustomFields[id][index][CF_EMPLOYEELIST];
app.CustomFields[CF_CUSTOMERLIST] = changedOccurencyCustomFields[id][index][CF_CUSTOMERLIST];
app.CustomFields[CF_RESOURCELIST] = changedOccurencyCustomFields[id][index][CF_RESOURCELIST];
app.CustomFields[CF_ORIGINATOR] = changedOccurencyCustomFields[id][index][CF_ORIGINATOR];
app.CustomFields[CF_ISPRIVATE] = changedOccurencyCustomFields[id][index][CF_ISPRIVATE];
app.CustomFields[CF_ISABSENCETIME] = changedOccurencyCustomFields[id][index][CF_ISABSENCETIME];
}
}
}
@@ -416,48 +420,62 @@ namespace BeWo.Scheduler.ViewModel
public void AddCustomFieldsMapping(SchedulerStorage schedulerStorage)
{
var employeeMapping = new SchedulerCustomFieldMapping(CF_EMPLOYEELIST, CF_EMPLOYEELIST);
var customerMapping = new SchedulerCustomFieldMapping(CF_CUSTOMERLIST, CF_CUSTOMERLIST);
var resourceMapping = new SchedulerCustomFieldMapping(CF_RESOURCELIST, CF_RESOURCELIST);
var originatorMapping = new SchedulerCustomFieldMapping(CF_ORIGINATOR, CF_ORIGINATOR);
var isPrivateMapping = new SchedulerCustomFieldMapping(CF_ISPRIVATE, CF_ISPRIVATE);
var employeeMapping = new SchedulerCustomFieldMapping(CF_EMPLOYEELIST, CF_EMPLOYEELIST);
var customerMapping = new SchedulerCustomFieldMapping(CF_CUSTOMERLIST, CF_CUSTOMERLIST);
var resourceMapping = new SchedulerCustomFieldMapping(CF_RESOURCELIST, CF_RESOURCELIST);
var originatorMapping = new SchedulerCustomFieldMapping(CF_ORIGINATOR, CF_ORIGINATOR);
var isPrivateMapping = new SchedulerCustomFieldMapping(CF_ISPRIVATE, CF_ISPRIVATE);
var isAbsenceTimeMapping = new SchedulerCustomFieldMapping(CF_ISABSENCETIME, CF_ISABSENCETIME);
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(employeeMapping);
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(customerMapping);
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(resourceMapping);
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(originatorMapping);
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(isPrivateMapping);
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(isAbsenceTimeMapping);
}
public void InitNewAppointment(Appointment appointment)
{
appointment.CustomFields[CF_CUSTOMERLIST] = new List<CompactCustomerDC>();
appointment.CustomFields[CF_EMPLOYEELIST] = new List<Employee2SchedulerAppointmentDC>();
appointment.CustomFields[CF_RESOURCELIST] = new List<ResourceDC>();
appointment.CustomFields[CF_CUSTOMERLIST] = new List<CompactCustomerDC>();
appointment.CustomFields[CF_EMPLOYEELIST] = new List<Employee2SchedulerAppointmentDC>();
appointment.CustomFields[CF_RESOURCELIST] = new List<ResourceDC>();
ServiceFacade.DoEmployeeServiceSync(s => appointment.CustomFields[CF_ORIGINATOR] = s.LoadCompactEmployee(BeWoApp.LoggedOnEmployee.EmployeeOid.Value));
appointment.CustomFields[CF_ISPRIVATE] = false;
appointment.StatusId = 0;
appointment.CustomFields[CF_ISPRIVATE] = false;
appointment.CustomFields[CF_ISABSENCETIME] = false;
appointment.StatusId = 0;
}
public bool HideAppointment(string filterCategory, object selectedObject, Appointment appointment, bool showPrivateAppointments)
public bool HideAppointment(string filterCategory, object selectedObject, Appointment appointment, bool showPrivateAppointments, bool showAbsenceTimes)
{
var wirdAngezeigt = true; // -> wird standardmäßig angezeigt
bool isPrivate = false;
if (appointment.CustomFields["IsPrivate"] != null)
var isPrivate = false;
if (appointment.CustomFields[CF_ISPRIVATE] != null)
{
isPrivate = Convert.ToBoolean(appointment.CustomFields["IsPrivate"]);
isPrivate = Convert.ToBoolean(appointment.CustomFields[CF_ISPRIVATE]);
}
if (showPrivateAppointments && !isPrivate)
var isAbsenceTime = false;
if(appointment.CustomFields[CF_ISABSENCETIME] != null)
{
isAbsenceTime = Convert.ToBoolean(appointment.CustomFields[CF_ISABSENCETIME]);
}
if(isAbsenceTime && !showPrivateAppointments && !showAbsenceTimes)
{
return !showAbsenceTimes;
}
if(showPrivateAppointments && !isPrivate)
{
return true;
}
var ersteller = (CompactEmployeeDC)appointment.CustomFields["Originator"];
var employeeList = (List<Employee2SchedulerAppointmentDC>)appointment.CustomFields["EmployeeList"];
var customerList = (List<CompactCustomerDC>)appointment.CustomFields["CustomerList"];
var resourceList = (List<ResourceDC>)appointment.CustomFields["ResourceList"];
var ersteller = (CompactEmployeeDC)appointment.CustomFields[CF_ORIGINATOR];
var employeeList = (List<Employee2SchedulerAppointmentDC>)appointment.CustomFields[CF_EMPLOYEELIST];
var customerList = (List<CompactCustomerDC>)appointment.CustomFields[CF_CUSTOMERLIST];
var resourceList = (List<ResourceDC>)appointment.CustomFields[CF_RESOURCELIST];
if (isPrivate)
{
@@ -482,8 +500,6 @@ namespace BeWo.Scheduler.ViewModel
var mitarbeiter = (List<CompactEmployeeDC>)dictionary["Mitarbeiter"];
var klienten = (List<CompactCustomerDC>)dictionary["Klienten"];
var cfe = employeeList != null ? employeeList.Select(s => s.Employee).ToList() : new List<CompactEmployeeDC>();
var cfr = resourceList ?? new List<ResourceDC>();
var cfc = customerList ?? new List<CompactCustomerDC>();
@@ -498,7 +514,7 @@ namespace BeWo.Scheduler.ViewModel
break;
case "Ebenen":
var liste = (List<bool>)selectedObject; // mkr
var appEList = employeeList.Where(w => !w.Employee.Equals(appointment.CustomFields["Originator"])).ToList();
var appEList = employeeList.Where(w => !w.Employee.Equals(appointment.CustomFields[CF_ORIGINATOR])).ToList();
// Ersteller und Rechte beachten
@@ -528,7 +544,7 @@ namespace BeWo.Scheduler.ViewModel
break;
}
return !wirdAngezeigt;
return !wirdAngezeigt;
}
public void InitChangedOccurrencyCustomFields(IEnumerable<SchedulerAppointmentDC> appList)
@@ -555,6 +571,7 @@ namespace BeWo.Scheduler.ViewModel
customFieldCollection[CF_RESOURCELIST] = termin.ResourceList;
customFieldCollection[CF_ORIGINATOR] = termin.Originator;
customFieldCollection[CF_ISPRIVATE] = termin.IsPrivate;
customFieldCollection[CF_ISABSENCETIME] = false;
//###Lyndon testen!!!
//var id = app.RecurrenceInfo.Id;

View File

@@ -44,7 +44,6 @@ namespace BeWo.Scheduler.ViewModel
private List<CompactCustomerDC> _CustomerList;
private List<ResourceDC> _ResourceList;
private CompactEmployeeDC _Originator;
private bool _IsAbsenceTime;
public object Id { get; set; }
public int LabelId { get; set; }
@@ -89,6 +88,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_End, value))
{
_End = value;
if (IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.EndDate, value), PropertyName_End);
FirePropertyChanged(PropertyName_End);
}
@@ -102,6 +107,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_Start, value))
{
_Start = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.StartDate, value), PropertyName_Start);
FirePropertyChanged(PropertyName_Start);
}
@@ -115,6 +126,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_AllDay, value))
{
_AllDay = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.AllDay, value), PropertyName_AllDay);
FirePropertyChanged(PropertyName_AllDay);
}
@@ -128,6 +145,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_Subject, value))
{
_Subject = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.Subject, value), PropertyName_Subject);
FirePropertyChanged(PropertyName_Subject);
}
@@ -141,6 +164,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_Location, value))
{
_Location = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.Location, value), PropertyName_Location);
FirePropertyChanged(PropertyName_Location);
}
@@ -154,6 +183,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_Status, value))
{
_Status = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.Status, value), PropertyName_Status);
FirePropertyChanged(PropertyName_Status);
}
@@ -167,6 +202,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_RecurrenceInfo, value))
{
_RecurrenceInfo = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.RecurrenceInfo, value), PropertyName_RecurrenceInfo);
FirePropertyChanged(PropertyName_RecurrenceInfo);
}
@@ -180,6 +221,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_Description, value))
{
_Description = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.Description, value), PropertyName_Description);
FirePropertyChanged(PropertyName_Description);
}
@@ -193,6 +240,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_EmployeeList, value))
{
_EmployeeList = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.EmployeeList, value), PropertyName_EmployeeList);
FirePropertyChanged(PropertyName_EmployeeList);
}
@@ -206,6 +259,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_CustomerList, value))
{
_CustomerList = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.CustomerList, value), PropertyName_CustomerList);
FirePropertyChanged(PropertyName_CustomerList);
}
@@ -219,6 +278,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_ResourceList, value))
{
_ResourceList = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.ResourceList, value), PropertyName_ResourceList);
FirePropertyChanged(PropertyName_ResourceList);
}
@@ -232,6 +297,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_IsPrivate, value))
{
_IsPrivate = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.IsPrivate,value), PropertyName_IsPrivate);
FirePropertyChanged(PropertyName_IsPrivate);
}
@@ -245,6 +316,12 @@ namespace BeWo.Scheduler.ViewModel
if (AreDifferent(_Originator, value))
{
_Originator = value;
if(IsAbsenceTime)
{
return;
}
StoreDirtyInformation(AreDifferent(DataContract.Originator, value), PropertyName_Originator);
FirePropertyChanged(PropertyName_Originator);
}
@@ -261,22 +338,33 @@ namespace BeWo.Scheduler.ViewModel
set { }
}
public virtual bool IsAbsenceTime
{
get { return _IsAbsenceTime; }
}
public virtual bool IsAbsenceTime { get; }
public SchedulerAppointmentVM(SchedulerAppointmentDC pDC) : base(pDC, pDC.SchedulerAppointmentOid == null) {}
public SchedulerAppointmentVM(bool pAllDay, string pSubject, DateTime pStart, DateTime pEnd, CompactEmployeeDC pOriginator)
{
_AllDay = pAllDay;
_Subject = pSubject;
_Start = pStart;
_End = pEnd;
_Originator = pOriginator;
IsAbsenceTime = true;
UpdateCustomFields();
}
public void UpdateCustomFields()
{
CustomFields = new Dictionary<string, object>
{
{"EmployeeList", EmployeeList},
{"CustomerList", CustomerList},
{"ResourceList", ResourceList},
{"Originator", Originator},
{"IsPrivate", IsPrivate}
{"EmployeeList", EmployeeList},
{"CustomerList", CustomerList},
{"ResourceList", ResourceList},
{"Originator", Originator},
{"IsPrivate", IsPrivate},
{PropertyName_IsAbsenceTime, IsAbsenceTime}
};
}
@@ -394,5 +482,17 @@ namespace BeWo.Scheduler.ViewModel
? GetType().Name.GetHashCode() ^ DataContract.SchedulerAppointmentOid.Value.GetHashCode()
: base.GetHashCode();
}
public override bool IsDirty
{
get { return IsAbsenceTime ? false : base.IsDirty; }
}
public new bool IsNew
{
get { return IsAbsenceTime ? false : base.IsNew; }
set { base.IsNew = value; }
}
}
}

View File

@@ -3748,6 +3748,11 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/GetAllActiveAppointmentsForEmployeeInInterval" +
"2BeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.SchedulerAppointmentDC> GetAllActiveAppointmentsForEmployeeInInterval2(System.DateTime start, System.DateTime end, long pEmployeeOid, bool pHasRightToSeeAllEmployeeAppointments);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IResourceService/GetAllActiveAbsenceTimesInInterval", ReplyAction="http://tempuri.org/IResourceService/GetAllActiveAbsenceTimesInIntervalResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/GetAllActiveAbsenceTimesInIntervalBeWoFaultFa" +
"ult", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.AbsenceTimeDC> GetAllActiveAbsenceTimesInInterval(System.DateTime pStart, System.DateTime pEnd, long pEmployeeOid, bool pHasRightToSeeAllEmployeeAppointments);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -3983,6 +3988,11 @@ namespace BeWo.ServiceProxy
{
return base.Channel.GetAllActiveAppointmentsForEmployeeInInterval2(start, end, pEmployeeOid, pHasRightToSeeAllEmployeeAppointments);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.AbsenceTimeDC> GetAllActiveAbsenceTimesInInterval(System.DateTime pStart, System.DateTime pEnd, long pEmployeeOid, bool pHasRightToSeeAllEmployeeAppointments)
{
return base.Channel.GetAllActiveAbsenceTimesInInterval(pStart, pEnd, pEmployeeOid, pHasRightToSeeAllEmployeeAppointments);
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]

View File

@@ -270,7 +270,7 @@ namespace BeWo.View
//var zeitraum = new DateTime(jahr, monat, 1);
BeWoUtils.ShowReport("Kassenbuch", null, new Dictionary<String, Object> { { "bargeldkasse", kasse }, { "zeitraum", startzeitraum.DateTime }, { "endzeitraum", endzeitraum.DateTime }, { "objectoid", kasse.ObjectOid }, { "objecttid", kasse.ObjectTid } }, ReportEnum.KassenbuchReportEnum);
BeWoUtils.ShowReport("Kassenbuch", new Dictionary<String, Object> { { "bargeldkasse", kasse }, { "zeitraum", startzeitraum.DateTime }, { "endzeitraum", endzeitraum.DateTime }, { "objectoid", kasse.ObjectOid }, { "objecttid", kasse.ObjectTid } }, ReportEnum.KassenbuchReportEnum);
}
private void ButtonBargeldtransaktionDeleteClick(object sender, RoutedEventArgs e)
@@ -303,7 +303,7 @@ namespace BeWo.View
var transaktion = control.GetCurrentValue<BargeldtransaktionsVM>().CommitToDataContract();
BeWoUtils.ShowReport("Zahlungsbeleg", null, new Dictionary<String, Object> {{"transaktion", transaktion}, {"objectoid", kasse.ObjectOid}, {"objecttid", kasse.ObjectTid}}, ReportEnum.ZahlungsbelegEnum);
BeWoUtils.ShowReport("Zahlungsbeleg", new Dictionary<String, Object> {{"transaktion", transaktion}, {"objectoid", kasse.ObjectOid}, {"objecttid", kasse.ObjectTid}}, ReportEnum.ZahlungsbelegEnum);
}
private void ButtonAddBargeldkasseClick(object sender, RoutedEventArgs e)

View File

@@ -7,110 +7,131 @@
xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxpbars="http://schemas.devexpress.com/winfx/2008/xaml/printing/bars"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
<GroupBox Header="Quittierungsbelege" Style="{StaticResource ObjectEditGroupBox}">
<TabControl>
<TabItem Header="Neu Erstellen" x:Name="TabItemNeuErstellen" >
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Row="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" MinWidth="50"/>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TabControl>
<TabItem Header="Neu Erstellen" x:Name="TabItemNeuErstellen">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Row="0">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" MinWidth="50"/>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<CheckBox Margin="3 7" Name="checkbox_all" IsChecked="True" Content="Alle Klienten" Checked="CheckBox_Checked" />
<CheckBox Margin="3 7" Name="checkbox_all" IsChecked="True" Content="Alle Klienten" Checked="CheckBox_Checked" />
<uc:PopUpEdit IsReadOnly="True" Height="23" Grid.Column="2"
x:Name="popupedit_customer" DeleteButtonVisibility="Collapsed"
Visibility="{Binding Path=IsChecked, ElementName=checkbox_all, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='false'}"
Margin="3" VerticalAlignment="Top" PopUpClick="popupedit_customer_PopUpClick" Cursor="Arrow" PreviewMouseDoubleClick="Popupedit_customer_OnPreviewMouseDoubleClick" />
<uc:PopUpEdit IsReadOnly="True" Height="23" Grid.Row="0" Grid.Column="2"
x:Name="popupedit_customer" DeleteButtonVisibility="Collapsed"
Visibility="{Binding Path=IsChecked, ElementName=checkbox_all, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='false'}"
Margin="3" VerticalAlignment="Top" PopUpClick="popupedit_customer_PopUpClick" Cursor="Arrow" PreviewMouseDoubleClick="Popupedit_customer_OnPreviewMouseDoubleClick" />
<Label Margin="0 2" Content="Monat" Grid.Row="0" Grid.Column="3" />
<ComboBox Height="23" x:Name="combobox_month" Grid.Row="0" Grid.Column="4" Margin="3" VerticalAlignment="Top" Width="90" />
<Label Margin="0 2" Content="Monat" Grid.Column="3" />
<ComboBox Height="23" x:Name="combobox_month" Grid.Column="4" Margin="3" VerticalAlignment="Top" Width="90" />
<Label Margin="0 2" Content="Vom" Grid.Row="0" Grid.Column="5" />
<ComboBox Height="23" x:Name="combobox_Startday" Grid.Row="0" Grid.Column="6" Margin="3,3,0,3" VerticalAlignment="Top" Width="50" />
<Label Margin="0 2" Content="Vom" Grid.Column="5" />
<ComboBox Height="23" x:Name="combobox_Startday" Grid.Column="6" Margin="3,3,0,3" VerticalAlignment="Top" Width="50" />
<TextBlock Margin="0 7,3,0" Text=". bis" Grid.Row="0" Grid.Column="7" Foreground="Black" />
<ComboBox Height="23" x:Name="combobox_Endday" Grid.Row="0" Grid.Column="8" Margin="3,3,0,3" VerticalAlignment="Top" Width="50" />
<TextBlock Margin="0 7,3,0" Text=". bis" Grid.Column="7" Foreground="Black" />
<ComboBox Height="23" x:Name="combobox_Endday" Grid.Column="8" Margin="3,3,0,3" VerticalAlignment="Top" Width="50" />
<TextBlock Margin="0 7,3,0" Text=". Jahr" Grid.Row="0" Grid.Column="9" Foreground="Black"/>
<ComboBox Height="23" x:Name="combobox_year" Grid.Row="0" Grid.Column="10" VerticalAlignment="Top" Margin="3" Width="60" />
<TextBlock Margin="0 7,3,0" Text=". Jahr" Grid.Column="9" Foreground="Black"/>
<ComboBox Height="23" x:Name="combobox_year" Grid.Column="10" VerticalAlignment="Top" Margin="3" Width="60" />
<Button Name="button_generate" Grid.Row="0" Grid.Column="11" VerticalAlignment="Top" FontWeight="Bold" Content="Erstellen" Click="button_generate_Click" Height="23" Margin="3" />
<Button Name="button_generate" Grid.Column="11" VerticalAlignment="Top" FontWeight="Bold" Content="Erstellen" Click="button_generate_Click" Height="23" Margin="3" />
<StackPanel Grid.Row="1" Grid.ColumnSpan="12" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="chkForAllCostbearer" Content="Nur für ausgewählten Kostenträger erstellen" IsChecked="False" />
<uc:PopUpEdit PreviewMouseDoubleClick="Popupedit_costbearer_OnPreviewMouseDoubleClick"
IsReadOnly="True" Width="250" Height="23"
x:Name="popupedit_costbearer"
DeleteButtonVisibility="Collapsed"
Visibility="{Binding Path=IsChecked, ElementName=chkForAllCostbearer, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='true'}"
Margin="3" VerticalAlignment="Top" PopUpClick="popupedit_costbearer_PopUpClick" Cursor="Arrow" />
</StackPanel>
<StackPanel Grid.Row="2" Grid.ColumnSpan="12" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="chkForAllEmployees" Content="Nur für ausgewählten Mitarbeiter erstellen" IsChecked="False" />
<uc:PopUpEdit PreviewMouseDoubleClick="Popupedit_employee_OnPreviewMouseDoubleClick"
IsReadOnly="True" Width="250" Height="23"
x:Name="popupedit_employee"
DeleteButtonVisibility="Collapsed"
Visibility="{Binding Path=IsChecked, ElementName=chkForAllEmployees, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='true'}"
Margin="3" VerticalAlignment="Top" PopUpClick="popupedit_employee_PopUpClick" Cursor="Arrow" />
</StackPanel>
<StackPanel Grid.Row="1" Grid.ColumnSpan="12" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="chkForAllCostbearer" Content="Nur für ausgewählten Kostenträger erstellen" IsChecked="False" />
<uc:PopUpEdit PreviewMouseDoubleClick="Popupedit_costbearer_OnPreviewMouseDoubleClick"
IsReadOnly="True" Width="250" Height="23"
x:Name="popupedit_costbearer"
DeleteButtonVisibility="Collapsed"
Visibility="{Binding Path=IsChecked, ElementName=chkForAllCostbearer, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='true'}"
Margin="3" VerticalAlignment="Top" PopUpClick="popupedit_costbearer_PopUpClick" Cursor="Arrow" />
</StackPanel>
<StackPanel Grid.Row="2" Grid.ColumnSpan="12" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="chkForAllEmployees" Content="Nur für ausgewählten Mitarbeiter erstellen" IsChecked="False" />
<uc:PopUpEdit PreviewMouseDoubleClick="Popupedit_employee_OnPreviewMouseDoubleClick"
IsReadOnly="True" Width="250" Height="23"
x:Name="popupedit_employee"
DeleteButtonVisibility="Collapsed"
Visibility="{Binding Path=IsChecked, ElementName=chkForAllEmployees, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='true'}"
Margin="3" VerticalAlignment="Top" PopUpClick="popupedit_employee_PopUpClick" Cursor="Arrow" />
</StackPanel>
<StackPanel Grid.Row="3" Grid.ColumnSpan="12" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="ChkForAllServiceCategories" Content="Nur für ausgewählte Leistungskategorie erstellen" IsChecked="False" />
<uc:NullItemComboBox Width="250" Margin="3" VerticalAlignment="Top" x:Name="ServiceCategoriesComboBox" SelectedIndex="0"
<StackPanel Grid.Row="3" Grid.ColumnSpan="12" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Stretch">
<CheckBox Margin="3 7" Grid.Row="1" Name="ChkForAllServiceCategories" Content="Nur für ausgewählte Leistungskategorie erstellen" IsChecked="False" />
<uc:NullItemComboBox Width="250" Margin="3" VerticalAlignment="Top" x:Name="ServiceCategoriesComboBox" SelectedIndex="0"
Visibility="{Binding Path=IsChecked, ElementName=ChkForAllServiceCategories, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='true'}"/>
</StackPanel>
</StackPanel>
<Popup Margin="10" Name="popup_customer" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3" Height="400" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:CustomerSearchView ItemSelected="CustomerSearchView_CustomerSelected" x:Name="customersearchview" />
</Popup>
<Popup Margin="10" Name="popup_customer" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:CustomerSearchView ItemSelected="CustomerSearchView_CustomerSelected" x:Name="customersearchview" />
</Popup>
<Popup Margin="10" Name="popup_costbearer" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3" Height="400" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:OrganisationSearchView SearchMode="CostBearer" ItemSelected="OrganisationSearchView_OrganisationSelected" x:Name="organisationsearchview" />
</Popup>
<Popup Margin="10" Name="popup_costbearer" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:OrganisationSearchView SearchMode="CostBearer" ItemSelected="OrganisationSearchView_OrganisationSelected" x:Name="organisationsearchview" />
</Popup>
<Popup Margin="10" Name="popup_employee" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3" Height="400" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:EmployeeSearchView ItemSelected="EmployeeSearchView_EmployeeSelected" x:Name="employeesearchview" />
</Popup>
</Grid>
</ScrollViewer>
<Popup Margin="10" Name="popup_employee" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
<localSearchView:EmployeeSearchView ItemSelected="EmployeeSearchView_EmployeeSelected" x:Name="employeesearchview" />
</Popup>
</Grid>
</ScrollViewer>
<dxp:DocumentPreview x:Name="docPrevControl" Grid.Row="1" Visibility="Collapsed"></dxp:DocumentPreview>
</Grid>
<dxp:DocumentPreviewControl x:Name="docPrevControl" Grid.Row="1" Visibility="Collapsed" CommandBarStyle="Bars">
<dxp:DocumentPreviewControl.CommandProvider>
<dxp:DocumentCommandProvider>
<dxp:DocumentCommandProvider.Actions>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportCsv}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportMht}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportTxt}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Open}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.DocumentMap}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Watermark}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Scale}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.PrintDirect}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.PageSetup}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Save}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Send}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Parameters}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Thumbnails}"/>
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.EditingFields}"/>
</dxp:DocumentCommandProvider.Actions>
</dxp:DocumentCommandProvider>
</dxp:DocumentPreviewControl.CommandProvider>
</dxp:DocumentPreviewControl>
</Grid>
</TabItem>

View File

@@ -1,14 +1,15 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using BeWo.Controls;
using BeWo.Core;
using BeWo.SchulbegleitenderDienst;
using BeWo.ServiceProxy;
using BeWo.ViewModel;
@@ -17,10 +18,8 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using DevExpress.Xpf.Printing;
using DevExpress.XtraReports.UI;
@@ -49,36 +48,40 @@ namespace BeWo.View.Detail.Report
public bool FetchReferenceNumbers { get; set; }
public ServicesReportView()
{
InitializeComponent();
InitDateCombos();
InitServiceCategoryCombo();
public ServicesReportView()
{
InitializeComponent();
InitDateCombos();
InitServiceCategoryCombo();
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
//{
// checkbox_all.IsEnabled = false;
// checkbox_all.IsChecked = false;
//}
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
//{
// checkbox_all.IsEnabled = false;
// checkbox_all.IsChecked = false;
//}
//DatepickerUbersicht.DateTime = DateTime.Now;
SetMonthCombobox();
//DatepickerUbersicht.DateTime = DateTime.Now;
SetMonthCombobox();
GridControlQuittierungsCheck.ItemsSource = _quittierungsCheck;
GridControlQuittierungsCheck.ItemsSource = _quittierungsCheck;
//GetQuittierungsCheckCustomerList(DateTime.Now);
//GetQuittierungsCheckCustomerList(DateTime.Now);
combobox_month.SelectionChanged += combobox_month_SelectionChanged;
combobox_year.SelectionChanged += combobox_year_SelectionChanged;
combobox_month.SelectionChanged += combobox_month_SelectionChanged;
combobox_year.SelectionChanged += combobox_year_SelectionChanged;
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, Theme.Office2010Black);
//ThemeManager.SetTheme(docPrevControl, Theme.Office2010Black);
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, Theme.Office2010Black);
//ThemeManager.SetTheme(docPrevControl, Theme.Office2010Black);
Unloaded += delegate { ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, null); docPrevControl.Visibility = Visibility.Collapsed; };
}
Unloaded += delegate
{
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, null);
docPrevControl.Visibility = Visibility.Collapsed;
};
}
void combobox_month_SelectionChanged(object sender, SelectionChangedEventArgs e)
void combobox_month_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
InitDayCombos();
}
@@ -197,32 +200,52 @@ namespace BeWo.View.Detail.Report
{
long orgaOid = 0;
long empOid = 0;
if (checkbox_all.IsChecked.Value)
_Customer = null;
{
_Customer = null;
}
if (!chkForAllCostbearer.IsChecked.Value)
_Organisation = null;
{
_Organisation = null;
}
if (!chkForAllEmployees.IsChecked.Value)
_Employee = null;
{
_Employee = null;
}
if (!checkbox_all.IsChecked.Value && _Customer == null)
MessageBox.Show("Bitte wählen Sie einen Klienten aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
{
MessageBox.Show("Bitte wählen Sie einen Klienten aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else if (chkForAllCostbearer.IsChecked.Value && _Organisation == null)
MessageBox.Show("Bitte wählen Sie einen Kostenträger aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
{
MessageBox.Show("Bitte wählen Sie einen Kostenträger aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else if (chkForAllEmployees.IsChecked.Value && _Employee == null)
MessageBox.Show("Bitte wählen Sie eine/n Mitarbeiter/in aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
{
MessageBox.Show("Bitte wählen Sie eine/n Mitarbeiter/in aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else if (ChkForAllServiceCategories.IsChecked.HasValue && ChkForAllServiceCategories.IsChecked.Value && ServiceCategoriesComboBox.SelectedItem == null)
MessageBox.Show("Bitte wählen Sie eine Leistungskategorie aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
{
MessageBox.Show("Bitte wählen Sie eine Leistungskategorie aus.", "BeWoPlaner", MessageBoxButton.OK, MessageBoxImage.Information);
}
else
{
if (_Organisation != null)
orgaOid = _Organisation.OrganisationOid;
{
orgaOid = _Organisation.OrganisationOid;
}
if (_Employee != null)
empOid = _Employee.EmployeeOid;
{
empOid = _Employee.EmployeeOid;
}
var url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?";
string url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?";
if (_Customer != null)
{
var month = new DateTime(DateTime.Now.Year,combobox_month.SelectedIndex + 1,DateTime.Now.Day);
@@ -231,7 +254,9 @@ namespace BeWo.View.Detail.Report
url += "cOid=" + Customer.CustomerOid + "&type=" + Utils.EnumName(ReportTypes.ServiceOverviewSingleCustomer);
}
else
url += "type=" + Utils.EnumName(ReportTypes.ServiceOverviewAllCustomers);
{
url += "type=" + Utils.EnumName(ReportTypes.ServiceOverviewAllCustomers);
}
url += "&orgaOid=" + orgaOid + "&empOid=" + empOid + "&month=" + (combobox_month.SelectedIndex + 1) +
"&year=" + combobox_year.SelectedItem + "&start=" + combobox_Startday.SelectedItem + "&end=" +
@@ -249,12 +274,11 @@ namespace BeWo.View.Detail.Report
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
BeWoUtils.NavigateToReportUri(url, "Quittierungsbeleg", docPrevControl);
BeWoUtils.NavigateToReportUriWithDocumentPreviewControl(url, "Quittierungsbeleg", docPrevControl);
}
}
private void listbox_month_SelectionChanged(object sender, SelectionChangedEventArgs e)
private void listbox_month_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
this.combobox_month.IsEnabled = false;
}

View File

@@ -3105,8 +3105,7 @@ namespace BeWo.View.Detail
latestEndDate = latestEndDate.AddMinutes(59);
}
ServiceFacade.DoReportServiceAsync(s => s.CreateServiceRecordListReport(eOid, cOid, scOid, cb2scOid, false, new DateTimeSpan { StartDate = earliestStartDate, StartHours = earliestStartDate.Hour, StartMinutes = earliestStartDate.Minute, EndDate = latestEndDate, EndHours = latestEndDate.Hour, EndMinutes = latestEndDate.Minute }),
cb => this.Dispatch(() => BeWoUtils.ShowReportWindow(cb, null, "Dokumentation")));
ServiceFacade.DoReportServiceAsync(s => s.CreateServiceRecordListReport(eOid, cOid, scOid, cb2scOid, false, new DateTimeSpan { StartDate = earliestStartDate, StartHours = earliestStartDate.Hour, StartMinutes = earliestStartDate.Minute, EndDate = latestEndDate, EndHours = latestEndDate.Hour, EndMinutes = latestEndDate.Minute }), cb => this.Dispatch(() => BeWoUtils.ShowReportWindow(cb, "Dokumentation")));
}
private void PopupInfo_OnOpened(object sender, EventArgs e)

View File

@@ -16,6 +16,7 @@ using NHibernate.SqlCommand;
using BS.Shared.Core;
using BS.Shared;
using NHibernate.Transform;
using Login = BeWo.Data.Entities.Login;
namespace BeWo.Data.Access
@@ -2123,6 +2124,7 @@ namespace BeWo.Data.Access
// Wenn das Enddatum null ist, wird das Ende des Intervalls als Enddatum gesetzt (Ist ja eh read-only).
var criteria = CreateCriteriaIsActive<AbsenceTime>()
.Add(Restrictions.IsNotNull(AbsenceTime.PropertyName_EmployeeOid))
.Add(Restrictions.Or
(Restrictions.Or(Restrictions.Or(
Restrictions.And(Restrictions.Ge(AbsenceTime.PropertyName_Start, start), Restrictions.Le(AbsenceTime.PropertyName_Start, end)),
@@ -2136,7 +2138,7 @@ namespace BeWo.Data.Access
criteria.Add(Restrictions.Eq(AbsenceTime.PropertyName_EmployeeOid, pEmployeeOid));
}
return criteria.List<AbsenceTime>();
return criteria.List<AbsenceTime>();
}
}
}

View File

@@ -8,4 +8,4 @@ DROP COLUMN `EmployeeOid`,
ADD COLUMN `QuittierungsbelegUnterschriebenVon`
BIGINT(19) NULL DEFAULT NULL COMMENT '' AFTER `QuittierungsbelegGedrucktAm`,
ADD COLUMN `QuittierungsbelegGedrucktVon`
BIGINT(19) NULL DEFAULT NULL COMMENT '' AFTER `QuittierungsbelegUnterschriebenVonl`;
BIGINT(19) NULL DEFAULT NULL COMMENT '' AFTER `QuittierungsbelegUnterschriebenVon`;

View File

@@ -28,247 +28,248 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.formattingRule1 = new DevExpress.XtraReports.UI.FormattingRule();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.bindingSource2 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// TopMargin
//
this.TopMargin.Name = "TopMargin";
this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// BottomMargin
//
this.BottomMargin.HeightF = 26.1261F;
this.BottomMargin.Name = "BottomMargin";
this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// PageHeader
//
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.components = new System.ComponentModel.Container();
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
this.formattingRule1 = new DevExpress.XtraReports.UI.FormattingRule();
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource2 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
//
this.Detail.HeightF = 0F;
this.Detail.Name = "Detail";
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// TopMargin
//
this.TopMargin.HeightF = 100F;
this.TopMargin.Name = "TopMargin";
this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// BottomMargin
//
this.BottomMargin.HeightF = 26.1261F;
this.BottomMargin.Name = "BottomMargin";
this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
//
// PageHeader
//
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel2,
this.xrLabel3});
this.PageHeader.HeightF = 43.22917F;
this.PageHeader.Name = "PageHeader";
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(162.5F, 23F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "[PrintingDate]";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel3
//
this.xrLabel3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(162.5F, 0F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(464.5F, 23F);
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "[PrintingEmployee]";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// formattingRule1
//
this.formattingRule1.Name = "formattingRule1";
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.PageHeader.HeightF = 43.22917F;
this.PageHeader.Name = "PageHeader";
//
// xrLabel2
//
this.xrLabel2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrLabel2.Name = "xrLabel2";
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel2.SizeF = new System.Drawing.SizeF(162.5F, 23F);
this.xrLabel2.StylePriority.UseFont = false;
this.xrLabel2.StylePriority.UseTextAlignment = false;
this.xrLabel2.Text = "[PrintingDate]";
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLabel3
//
this.xrLabel3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(162.5F, 0F);
this.xrLabel3.Name = "xrLabel3";
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel3.SizeF = new System.Drawing.SizeF(464.5F, 23F);
this.xrLabel3.StylePriority.UseFont = false;
this.xrLabel3.StylePriority.UseTextAlignment = false;
this.xrLabel3.Text = "[PrintingEmployee]";
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// formattingRule1
//
this.formattingRule1.Name = "formattingRule1";
//
// DetailReport
//
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail1,
this.DetailReport1});
this.DetailReport.DataMember = "KalenderTageSortiert";
this.DetailReport.DataSource = this.bindingSource2;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.DetailReport.DataMember = "KalenderTageSortiert";
this.DetailReport.DataSource = this.bindingSource2;
this.DetailReport.Level = 0;
this.DetailReport.Name = "DetailReport";
//
// Detail1
//
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1,
this.xrLine1});
this.Detail1.HeightF = 55.00001F;
this.Detail1.Name = "Detail1";
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
this.Detail1.HeightF = 55.00001F;
this.Detail1.Name = "Detail1";
//
// xrLabel1
//
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Datum")});
this.xrLabel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 20F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10.00001F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(366.6667F, 35F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "xrLabel1";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLine1
//
this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 45.00001F);
this.xrLine1.Name = "xrLine1";
this.xrLine1.SizeF = new System.Drawing.SizeF(626.9999F, 10F);
//
// DetailReport1
//
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.xrLabel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 20F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10.00001F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(366.6667F, 35F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "xrLabel1";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrLine1
//
this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 45.00001F);
this.xrLine1.Name = "xrLine1";
this.xrLine1.SizeF = new System.Drawing.SizeF(626.9999F, 10F);
//
// DetailReport1
//
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail2});
this.DetailReport1.DataMember = "KalenderTageSortiert.Termine";
this.DetailReport1.DataSource = this.bindingSource2;
this.DetailReport1.Level = 0;
this.DetailReport1.Name = "DetailReport1";
//
// Detail2
//
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.DetailReport1.DataMember = "KalenderTageSortiert.Termine";
this.DetailReport1.DataSource = this.bindingSource2;
this.DetailReport1.Level = 0;
this.DetailReport1.Name = "DetailReport1";
//
// Detail2
//
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel7,
this.xrLabel6,
this.xrLabel5,
this.xrLabel4,
this.xrTable1});
this.Detail2.HeightF = 145F;
this.Detail2.Name = "Detail2";
//
// xrTable1
//
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(10.00001F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.Detail2.HeightF = 145F;
this.Detail2.Name = "Detail2";
//
// xrLabel7
//
this.xrLabel7.CanShrink = true;
this.xrLabel7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.Appointment.Notice4")});
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(10.00001F, 106F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(616.9998F, 23F);
this.xrLabel7.Text = "xrLabel7";
//
// xrLabel6
//
this.xrLabel6.CanShrink = true;
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.Appointment.Notice3")});
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(10.00001F, 82.99999F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(616.9998F, 23F);
this.xrLabel6.Text = "xrLabel6";
//
// xrLabel5
//
this.xrLabel5.CanShrink = true;
this.xrLabel5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.Appointment.Notice2")});
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(10F, 60F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(616.9998F, 23F);
this.xrLabel5.Text = "xrLabel5";
//
// xrLabel4
//
this.xrLabel4.CanShrink = true;
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.Appointment.Notice")});
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(10F, 30F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(616.9998F, 23F);
this.xrLabel4.Text = "xrLabel4";
//
// xrTable1
//
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(10.00001F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(616.9998F, 25F);
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTable1.SizeF = new System.Drawing.SizeF(616.9998F, 25F);
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1D;
//
// xrTableCell1
//
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1D;
//
// xrTableCell1
//
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.VonBisString")});
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Text = "xrTableCell1";
this.xrTableCell1.Weight = 1.1562499237060548D;
//
// xrTableCell2
//
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Text = "xrTableCell1";
this.xrTableCell1.Weight = 1.1562499237060548D;
//
// xrTableCell2
//
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.SubjectLocationString")});
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Text = "xrTableCell2";
this.xrTableCell2.Weight = 5.2437500762939449D;
//
// xrLabel4
//
this.xrLabel4.CanShrink = true;
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.Appointment.Notice")});
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(10F, 30F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(616.9998F, 23F);
this.xrLabel4.Text = "xrLabel4";
//
// xrLabel5
//
this.xrLabel5.CanShrink = true;
this.xrLabel5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.Appointment.Notice2")});
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(10F, 60F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(616.9998F, 23F);
this.xrLabel5.Text = "xrLabel5";
//
// xrLabel6
//
this.xrLabel6.CanShrink = true;
this.xrLabel6.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.Appointment.Notice3")});
this.xrLabel6.LocationFloat = new DevExpress.Utils.PointFloat(10.00001F, 82.99999F);
this.xrLabel6.Name = "xrLabel6";
this.xrLabel6.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 0, 0, 100F);
this.xrLabel6.SizeF = new System.Drawing.SizeF(616.9998F, 23F);
this.xrLabel6.Text = "xrLabel6";
//
// xrLabel7
//
this.xrLabel7.CanShrink = true;
this.xrLabel7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.Appointment.Notice4")});
this.xrLabel7.LocationFloat = new DevExpress.Utils.PointFloat(10.00001F, 106F);
this.xrLabel7.Name = "xrLabel7";
this.xrLabel7.Padding = new DevExpress.XtraPrinting.PaddingInfo(1, 1, 0, 0, 100F);
this.xrLabel7.SizeF = new System.Drawing.SizeF(616.9998F, 23F);
this.xrLabel7.Text = "xrLabel7";
//
// bindingSource2
//
this.bindingSource2.DataSource = typeof(BeWo.Report.ReportObjects.KalenderRO);
//
// DailyAppointmentReportKalender
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Text = "xrTableCell2";
this.xrTableCell2.Weight = 5.2437500762939449D;
//
// bindingSource2
//
this.bindingSource2.DataSource = typeof(BeWo.Report.ReportObjects.KalenderRO);
//
// DailyAppointmentReportKalender
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.Detail,
this.TopMargin,
this.BottomMargin,
this.PageHeader,
this.DetailReport});
this.DataSource = this.bindingSource2;
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.DataSource = this.bindingSource2;
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
this.formattingRule1});
this.Margins = new System.Drawing.Printing.Margins(100, 100, 100, 26);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "13.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
this.Margins = new System.Drawing.Printing.Margins(100, 100, 100, 26);
this.PageHeight = 1169;
this.PageWidth = 827;
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}

View File

@@ -1 +1 @@
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -40,12 +40,12 @@ namespace BeWo.Report.ReportObjects
if (!kalenderTage.Any(k => k.Datum.Equals(datum)))
{
kalenderTage.Add(new KalenderTag(new List<AppointmentStruct> {new AppointmentStruct {Appointment = app}}));
kalenderTage.Add(new KalenderTag(new List<AppointmentStruct> {new AppointmentStruct {Appointment = DAOFactory.GenericDAO.Unproxy(app)}}));
}
else
{
var kt = kalenderTage.First(f => f.Datum.Equals(datum));
kt.Termine.Add(new AppointmentStruct { Appointment = app });
kt.Termine.Add(new AppointmentStruct { Appointment = DAOFactory.GenericDAO.Unproxy(app) });
}
}

View File

@@ -957,8 +957,7 @@ namespace BeWo.Service.ServiceImplementations
{
try
{
var absenceTimes = DAOFactory.SearchDAO.GetAllAbsenceTimesInIntervalByEmployee(pStart, pEnd, pEmployeeOid,
pHasRightToSeeAllEmployeeAppointments);
var absenceTimes = DAOFactory.SearchDAO.GetAllAbsenceTimesInIntervalByEmployee(pStart, pEnd, pEmployeeOid, pHasRightToSeeAllEmployeeAppointments);
return MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDCs(absenceTimes).OrderBy(a => a.Start).ToList();
}