push test
This commit is contained in:
@@ -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.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.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.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.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.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" />
|
<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>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
<Page Include="View\SchulbegleitenderDienst.xaml">
|
<Page Include="View\SchulbegleitenderDienst.xaml">
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
@@ -1763,7 +1764,7 @@
|
|||||||
<Compile Include="View\PercentageDisplay.xaml.cs">
|
<Compile Include="View\PercentageDisplay.xaml.cs">
|
||||||
<DependentUpon>PercentageDisplay.xaml</DependentUpon>
|
<DependentUpon>PercentageDisplay.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="View\SchulbegleitenderDienst.xaml.cs">
|
<Compile Include="View\SchulbegleitenderDienst.xaml.cs">
|
||||||
<DependentUpon>SchulbegleitenderDienst.xaml</DependentUpon>
|
<DependentUpon>SchulbegleitenderDienst.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="View\Report\AnnualReport\AnnualReportChartControl.xaml.cs">
|
<Compile Include="View\Report\AnnualReport\AnnualReportChartControl.xaml.cs">
|
||||||
|
|||||||
@@ -5,14 +5,12 @@ using System.ComponentModel;
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net;
|
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using System.Windows.Controls.Primitives;
|
using System.Windows.Controls.Primitives;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Windows.Forms.VisualStyles;
|
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
using BS.Shared;
|
using BS.Shared;
|
||||||
@@ -46,6 +44,8 @@ using MessageBox = System.Windows.MessageBox;
|
|||||||
using Panel = System.Windows.Controls.Panel;
|
using Panel = System.Windows.Controls.Panel;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using DevExpress.Xpf.Bars;
|
using DevExpress.Xpf.Bars;
|
||||||
|
using DevExpress.Xpf.DocumentViewer;
|
||||||
|
using DevExpress.Xpf.Printing.PreviewControl.Bars;
|
||||||
|
|
||||||
namespace BeWo.Core
|
namespace BeWo.Core
|
||||||
{
|
{
|
||||||
@@ -113,7 +113,7 @@ namespace BeWo.Core
|
|||||||
}
|
}
|
||||||
catch (Exception)
|
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);
|
||||||
}
|
}
|
||||||
@@ -128,7 +128,10 @@ namespace BeWo.Core
|
|||||||
BeWoWindow window = null;
|
BeWoWindow window = null;
|
||||||
|
|
||||||
var dp = documentPreview;
|
var dp = documentPreview;
|
||||||
if (dp == null)
|
|
||||||
|
//DocumentPreviewControl dp = null
|
||||||
|
|
||||||
|
if (dp == null)
|
||||||
{
|
{
|
||||||
dp = new DocumentPreview();
|
dp = new DocumentPreview();
|
||||||
window = new BeWoWindow {GroupBoxContent = dp, Owner = BeWoApp.CurrentBeWo.MainWindow};
|
window = new BeWoWindow {GroupBoxContent = dp, Owner = BeWoApp.CurrentBeWo.MainWindow};
|
||||||
@@ -138,23 +141,23 @@ namespace BeWo.Core
|
|||||||
// ReportPreviewModelLandscapeBugWorkaround statt des XtraReportPreviewModels wegen des Landscape-Bugs
|
// ReportPreviewModelLandscapeBugWorkaround statt des XtraReportPreviewModels wegen des Landscape-Bugs
|
||||||
dp.Model = new ReportPreviewModelLandscapeBugWorkaround(report);
|
dp.Model = new ReportPreviewModelLandscapeBugWorkaround(report);
|
||||||
ThemeManager.SetTheme(dp, Theme.Office2007Black);
|
ThemeManager.SetTheme(dp, Theme.Office2007Black);
|
||||||
|
|
||||||
dp.BarManager.Loaded += delegate
|
//dp.BarManager.Loaded += delegate
|
||||||
{
|
//{
|
||||||
dp.BarManager.Items["documentMap"].IsVisible = false;
|
// dp.BarManager.Items["documentMap"].IsVisible = false;
|
||||||
dp.BarManager.Items["open"].IsVisible = false;
|
// dp.BarManager.Items["open"].IsVisible = false;
|
||||||
dp.BarManager.Items["email"].IsVisible = false;
|
// dp.BarManager.Items["email"].IsVisible = false;
|
||||||
dp.BarManager.Items["watermark"].IsVisible = false;
|
// dp.BarManager.Items["watermark"].IsVisible = false;
|
||||||
dp.BarManager.Items["pageSetup"].IsVisible = false;
|
// dp.BarManager.Items["pageSetup"].IsVisible = false;
|
||||||
dp.BarManager.Items["scaling"].IsVisible = false;
|
// dp.BarManager.Items["scaling"].IsVisible = false;
|
||||||
dp.BarManager.Items["save"].IsVisible = false;
|
// dp.BarManager.Items["save"].IsVisible = false;
|
||||||
dp.BarManager.Items["printDirect"].IsVisible = false;
|
// dp.BarManager.Items["printDirect"].IsVisible = false;
|
||||||
dp.BarManager.Items["exportText"].IsVisible = false;
|
// dp.BarManager.Items["exportText"].IsVisible = false;
|
||||||
dp.BarManager.Items["exportCSV"].IsVisible = false;
|
// dp.BarManager.Items["exportCSV"].IsVisible = false;
|
||||||
dp.BarManager.Items["exportMHT"].IsVisible = false;
|
// dp.BarManager.Items["exportMHT"].IsVisible = false;
|
||||||
dp.BarManager.Items["exportXPS"].IsVisible = false;
|
// dp.BarManager.Items["exportXPS"].IsVisible = false;
|
||||||
var item = dp.BarManager.Items["exportRTF"];
|
// var item = dp.BarManager.Items["exportRTF"];
|
||||||
};
|
//};
|
||||||
if (window != null)
|
if (window != null)
|
||||||
{
|
{
|
||||||
window.rootGroupBox.Header = String.IsNullOrEmpty(title) ? "Druckvorschau" : title;
|
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,
|
func.BeginInvoke(param,
|
||||||
cb =>
|
cb =>
|
||||||
@@ -1792,7 +1908,7 @@ namespace BeWo.Core
|
|||||||
/// <param name="documentPreview">Documentpreview für den Report</param>
|
/// <param name="documentPreview">Documentpreview für den Report</param>
|
||||||
/// <param name="variablen">Dictionary mit Variablen für das ReportObject</param>
|
/// <param name="variablen">Dictionary mit Variablen für das ReportObject</param>
|
||||||
/// <param name="reportType">Der Typ des Reports (z.B. KalenderMonatsformatReport)</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)
|
switch (reportType)
|
||||||
{
|
{
|
||||||
@@ -1803,8 +1919,8 @@ namespace BeWo.Core
|
|||||||
var serienTermine = (List<SchedulerAppointmentDC>)variablen["serienTermine"];
|
var serienTermine = (List<SchedulerAppointmentDC>)variablen["serienTermine"];
|
||||||
var mehrtaegigeTermine = (List<SchedulerAppointmentDC>)variablen["mehrtaegigeTermine"];
|
var mehrtaegigeTermine = (List<SchedulerAppointmentDC>)variablen["mehrtaegigeTermine"];
|
||||||
|
|
||||||
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKalenderReport(appointmentIds, employeeOid, serienTermine, selectedDays, mehrtaegigeTermine),
|
ServiceFacade.DoReportServiceAsync(strom => strom.CreateKalenderReport(appointmentIds, employeeOid, serienTermine, selectedDays, mehrtaegigeTermine), ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, title)));
|
||||||
ms => BeWoApp.MainControl.Dispatch(() => ShowReportWindow(ms, documentPreview, title)));
|
|
||||||
break;
|
break;
|
||||||
case ReportEnum.KassenbuchReportEnum:
|
case ReportEnum.KassenbuchReportEnum:
|
||||||
var zeitraum = (DateTime) variablen["zeitraum"];
|
var zeitraum = (DateTime) variablen["zeitraum"];
|
||||||
@@ -1813,11 +1929,8 @@ namespace BeWo.Core
|
|||||||
var endzeitraum = (DateTime)variablen["endzeitraum"];
|
var endzeitraum = (DateTime)variablen["endzeitraum"];
|
||||||
|
|
||||||
var kasse = (BargeldkassenDC) variablen["bargeldkasse"];
|
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;
|
break;
|
||||||
case ReportEnum.ZahlungsbelegEnum:
|
case ReportEnum.ZahlungsbelegEnum:
|
||||||
@@ -1825,32 +1938,27 @@ namespace BeWo.Core
|
|||||||
var objectOid2 = Convert.ToInt64(variablen["objectoid"]);
|
var objectOid2 = Convert.ToInt64(variablen["objectoid"]);
|
||||||
var objectTid2 = (TableID) Enum.Parse(typeof(TableID), variablen["objecttid"].ToString());
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void ShowReportWindow(MemoryStream ms, DocumentPreview documentPreview, String title)
|
public static void ShowReportWindow(MemoryStream ms, string title)
|
||||||
{
|
{
|
||||||
var report = new XtraReport();
|
var report = new XtraReport();
|
||||||
|
|
||||||
try
|
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);
|
report.PrintingSystem.LoadDocument(ms);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception)
|
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",
|
MessageBox.Show("Beim Öffnen der Druckvorschau ist leider ein Fehler aufgetreten!\n\n" + msg, "Fehler", MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
||||||
MessageBoxButton.OK, MessageBoxImage.Exclamation);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ms.Close();
|
ms.Close();
|
||||||
ms.Dispose();
|
ms.Dispose();
|
||||||
|
|
||||||
@@ -1858,47 +1966,28 @@ namespace BeWo.Core
|
|||||||
report.DefaultPrinterSettingsUsing.UseMargins = BeWoApp.AppSettings.PrinterSettingsUseMargins;
|
report.DefaultPrinterSettingsUsing.UseMargins = BeWoApp.AppSettings.PrinterSettingsUseMargins;
|
||||||
report.DefaultPrinterSettingsUsing.UsePaperKind = BeWoApp.AppSettings.PrinterSettingsUsePaperKind;
|
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);
|
ThemeManager.SetTheme(dp, Theme.Office2007Black);
|
||||||
|
|
||||||
dp.BarManager.Loaded += delegate
|
window.rootGroupBox.Header = String.IsNullOrEmpty(title) ? "Druckvorschau" : title;
|
||||||
{
|
window.Title = "Druckvorschau";
|
||||||
dp.BarManager.Items["documentMap"].IsVisible = false;
|
window.Show();
|
||||||
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();
|
|
||||||
}
|
|
||||||
|
|
||||||
dp.Visibility = Visibility.Visible;
|
dp.Visibility = Visibility.Visible;
|
||||||
|
|
||||||
BeWoApp.MainControl.EndWaiting();
|
BeWoApp.MainControl.EndWaiting();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static PasswortSecurityStrength CheckPasswordSecurity(string paswd)
|
public static PasswortSecurityStrength CheckPasswordSecurity(string paswd)
|
||||||
{
|
{
|
||||||
string zahlen = "0123456789";
|
string zahlen = "0123456789";
|
||||||
@@ -1967,7 +2056,6 @@ namespace BeWo.Core
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static void ShowImageForm(ImageSource source)
|
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)
|
public static void CreateZeiterfassung(DateTime start, DateTime end, List<CompactCustomerDC> customer, List<CompactEmployeeDC> employees, String notice)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (customer.Count == 0)
|
if (customer.Count == 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -2049,7 +2136,5 @@ namespace BeWo.Core
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace BeWo.Scheduler
|
|||||||
|
|
||||||
void InitNewAppointment(Appointment appointment);
|
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);
|
void InitChangedOccurrencyCustomFields(IEnumerable<SchedulerAppointmentDC> appList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -345,16 +345,16 @@
|
|||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="Auto" />
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center">
|
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center">
|
||||||
<dxschint:AppointmentContinueStartDateControl 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, 2, 0, 2" />
|
<dxschint:HorizontalAppointmentStartClockControl ViewInfo="{Binding}" Margin="12, 4, 0, 2" VerticalAlignment="Center" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<dxschint:HorizontalAppointmentContentPanel Grid.Column="1" ClipToBounds="True" VerticalAlignment="Center" Margin="2,0,2,0">
|
<dxschint:HorizontalAppointmentContentPanel Grid.Column="1" ClipToBounds="True" VerticalAlignment="Center" Margin="2,0,2,0">
|
||||||
<dxschint:AppointmentImagesControl HorizontalAlignment="Center" ViewInfo="{Binding}" Orientation="Horizontal" />
|
<dxschint:AppointmentImagesControl HorizontalAlignment="Center" ViewInfo="{Binding}" Orientation="Horizontal" />
|
||||||
<TextBlock Text="{Binding Subject}" VerticalAlignment="Center" TextWrapping="Wrap" Foreground="Black" Margin="8, 2, 0, 0" />
|
<TextBlock Text="{Binding Subject}" VerticalAlignment="Center" TextWrapping="Wrap" Foreground="Black" Margin="8, 2, 0, 0" />
|
||||||
</dxschint:HorizontalAppointmentContentPanel>
|
</dxschint:HorizontalAppointmentContentPanel>
|
||||||
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center">
|
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center">
|
||||||
<dxschint:HorizontalAppointmentEndClockControl ViewInfo="{Binding}" Margin="0, 2, 12, 2" />
|
<dxschint:HorizontalAppointmentEndClockControl ViewInfo="{Binding}" Margin="0, 4, 12, 2" VerticalAlignment="Center" />
|
||||||
<dxschint:AppointmentContinueEndDateControl ViewInfo="{Binding}" Margin="0, 2, 12, 2" />
|
<dxschint:AppointmentContinueEndDateControl ViewInfo="{Binding}" Margin="0, 4, 12, 2" Foreground="Black" VerticalAlignment="Center" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Grid>
|
</Grid>
|
||||||
</DataTemplate>
|
</DataTemplate>
|
||||||
@@ -649,7 +649,7 @@
|
|||||||
Unchecked="MitarbeiterfarbenEinAusCheckBox_OnChecked"
|
Unchecked="MitarbeiterfarbenEinAusCheckBox_OnChecked"
|
||||||
IsChecked="{Binding Path=IsEmployeeBrushVisible, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type view:NewSchedulerView}}, Mode=TwoWay}" />
|
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"
|
<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}" />
|
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">
|
<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}">
|
<Hyperlink RequestNavigate="ShowAppointmentRequests" NavigateUri="#" IsEnabled="{Binding Enabled, UpdateSourceTrigger=PropertyChanged}">
|
||||||
|
|||||||
@@ -685,7 +685,9 @@ namespace BeWo.Scheduler.View
|
|||||||
|
|
||||||
SelectedResources = cb.IsChecked.Value ? new List<ResourceDC>(AllResources) : new List<ResourceDC>();
|
SelectedResources = cb.IsChecked.Value ? new List<ResourceDC>(AllResources) : new List<ResourceDC>();
|
||||||
if (CheckBoxConverter != null && SelectedResources != null)
|
if (CheckBoxConverter != null && SelectedResources != null)
|
||||||
CheckBoxConverter.SelektierteRessourcen = SelectedResources;
|
{
|
||||||
|
CheckBoxConverter.SelektierteRessourcen = SelectedResources;
|
||||||
|
}
|
||||||
|
|
||||||
Scheduler.ActiveView.LayoutChanged();
|
Scheduler.ActiveView.LayoutChanged();
|
||||||
}
|
}
|
||||||
@@ -911,7 +913,7 @@ namespace BeWo.Scheduler.View
|
|||||||
|
|
||||||
if (showOnlyPrivateApps)
|
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;
|
var me = MitarbeiterEbenenCheckBox.IsChecked.HasValue && MitarbeiterEbenenCheckBox.IsChecked.Value;
|
||||||
@@ -920,21 +922,21 @@ namespace BeWo.Scheduler.View
|
|||||||
|
|
||||||
if ((me || ke || re) && !SelectedItems.Any())
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var m = CheckBoxConverter.SelektierteMitarbeiter;
|
var m = CheckBoxConverter.SelektierteMitarbeiter;
|
||||||
var r = CheckBoxConverter.SelektierteRessourcen;
|
var r = CheckBoxConverter.SelektierteRessourcen;
|
||||||
var k = CheckBoxConverter.SelektierteKlienten;
|
var k = CheckBoxConverter.SelektierteKlienten;
|
||||||
;
|
|
||||||
if ((m.Any() || r.Any() || k.Any()) && ZeigeNurMeineTermineCheckBox.IsChecked == false)
|
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;
|
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)
|
private void NewSchedulerStorage_AppointmentDeleting(object sender, PersistentObjectCancelEventArgs e)
|
||||||
@@ -1061,10 +1063,15 @@ namespace BeWo.Scheduler.View
|
|||||||
|
|
||||||
private void AllowAppointmentAenderung(object sender, AppointmentOperationEventArgs e)
|
private void AllowAppointmentAenderung(object sender, AppointmentOperationEventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
var darfTerminDetailsSehen = true;
|
var darfTerminDetailsSehen = true;
|
||||||
var appointment = e.Appointment;
|
var appointment = e.Appointment;
|
||||||
|
|
||||||
|
if ((bool) appointment.CustomFields["IsAbsenceTime"])
|
||||||
|
{
|
||||||
|
e.Allow = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var ersteller = (CompactEmployeeDC) appointment.CustomFields["Originator"];
|
var ersteller = (CompactEmployeeDC) appointment.CustomFields["Originator"];
|
||||||
var mitarbeiterliste = (List<Employee2SchedulerAppointmentDC>)appointment.CustomFields["EmployeeList"];
|
var mitarbeiterliste = (List<Employee2SchedulerAppointmentDC>)appointment.CustomFields["EmployeeList"];
|
||||||
|
|
||||||
@@ -1567,7 +1574,7 @@ namespace BeWo.Scheduler.View
|
|||||||
datesList.AddRange(range.Select(x => x.Start));
|
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 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 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>();
|
var serienTermine = new List<SchedulerAppointmentDC>();
|
||||||
@@ -1734,7 +1741,7 @@ namespace BeWo.Scheduler.View
|
|||||||
{"mehrtaegigeTermine", neueTermine}
|
{"mehrtaegigeTermine", neueTermine}
|
||||||
};
|
};
|
||||||
|
|
||||||
BeWoUtils.ShowReport("Kalender", null, variablenDictionary, ReportEnum.KalenderMonatsReportEnum);
|
BeWoUtils.ShowReport("Kalender", variablenDictionary, ReportEnum.KalenderMonatsReportEnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PreselectCustomer(long pCustomerOid)
|
public void PreselectCustomer(long pCustomerOid)
|
||||||
@@ -1832,6 +1839,7 @@ namespace BeWo.Scheduler.View
|
|||||||
{
|
{
|
||||||
var cb = (CheckBox) sender;
|
var cb = (CheckBox) sender;
|
||||||
IsAbsenceTimeVisible = cb.IsChecked ?? true;
|
IsAbsenceTimeVisible = cb.IsChecked ?? true;
|
||||||
|
Scheduler.ActiveView.LayoutChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
|||||||
@@ -101,8 +101,7 @@ namespace BeWo.Scheduler.View
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public SchedulerAppointmentEditForm(SchedulerAppointmentListVM vm, SchedulerControl schedulerControl, Appointment appointment,
|
public SchedulerAppointmentEditForm(SchedulerAppointmentListVM vm, SchedulerControl schedulerControl, Appointment appointment, IEnumerable<CompactEmployeeDC> employees, IEnumerable<CompactCustomerDC> customers, Dictionary<ValueListEntryDC, List<ResourceDC>> categoriesToResources)
|
||||||
IEnumerable<CompactEmployeeDC> employees, IEnumerable<CompactCustomerDC> customers, Dictionary<ValueListEntryDC, List<ResourceDC>> categoriesToResources)
|
|
||||||
: base(schedulerControl, appointment)
|
: base(schedulerControl, appointment)
|
||||||
{
|
{
|
||||||
ViewModel = vm;
|
ViewModel = vm;
|
||||||
@@ -145,13 +144,19 @@ namespace BeWo.Scheduler.View
|
|||||||
private void InitRights()
|
private void InitRights()
|
||||||
{
|
{
|
||||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnlegen))
|
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAnlegen))
|
||||||
|
{
|
||||||
MitarbeiterPopUpOeffnenBtn.Visibility = Visibility.Collapsed;
|
MitarbeiterPopUpOeffnenBtn.Visibility = Visibility.Collapsed;
|
||||||
|
}
|
||||||
|
|
||||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAnlegen))
|
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAnlegen))
|
||||||
|
{
|
||||||
KlientenPopUpOeffnenBtn.Visibility = Visibility.Collapsed;
|
KlientenPopUpOeffnenBtn.Visibility = Visibility.Collapsed;
|
||||||
|
}
|
||||||
|
|
||||||
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAnlegen))
|
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAnlegen))
|
||||||
|
{
|
||||||
RessourcenPopUpOeffnenBtn.Visibility = Visibility.Collapsed;
|
RessourcenPopUpOeffnenBtn.Visibility = Visibility.Collapsed;
|
||||||
|
}
|
||||||
|
|
||||||
var m = SelectedEmployees;
|
var m = SelectedEmployees;
|
||||||
var k = SelectedCustomers;
|
var k = SelectedCustomers;
|
||||||
@@ -162,15 +167,25 @@ namespace BeWo.Scheduler.View
|
|||||||
if (!NewSchedulerAppointmentFormController.Originator.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid))
|
if (!NewSchedulerAppointmentFormController.Originator.EmployeeOid.Equals(BeWoApp.LoggedOnEmployee.EmployeeOid))
|
||||||
{
|
{
|
||||||
if (m.Count > 0 && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAendern))
|
if (m.Count > 0 && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderMitarbeitertermineAendern))
|
||||||
|
{
|
||||||
allowedToChange = false;
|
allowedToChange = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (k.Count > 0 && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAendern))
|
if (k.Count > 0 && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderKliententermineAendern))
|
||||||
|
{
|
||||||
allowedToChange = false;
|
allowedToChange = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (r.Count > 0 && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAendern))
|
if (r.Count > 0 && !BeWoApp.LoggedOnUser.HasRight(UserRightType.KalenderRessourcentermineAendern))
|
||||||
|
{
|
||||||
allowedToChange = false;
|
allowedToChange = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (allowedToChange)
|
if (allowedToChange)
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
OKButton.Visibility = Visibility.Hidden;
|
OKButton.Visibility = Visibility.Hidden;
|
||||||
DeleteButton.Visibility = Visibility.Hidden;
|
DeleteButton.Visibility = Visibility.Hidden;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ using BeWo.ServiceProxy;
|
|||||||
using BS.Shared;
|
using BS.Shared;
|
||||||
using BS.Shared.DataContracts;
|
using BS.Shared.DataContracts;
|
||||||
using BS.Shared.DataContracts.Compact;
|
using BS.Shared.DataContracts.Compact;
|
||||||
using DevExpress.XtraPrinting.Native;
|
using DevExpress.DataProcessing;
|
||||||
using DevExpress.XtraScheduler;
|
using DevExpress.XtraScheduler;
|
||||||
|
|
||||||
namespace BeWo.Scheduler.ViewModel
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var allEmps = new List<CompactEmployeeDC>();
|
|
||||||
|
|
||||||
var appointments = new List<SchedulerAppointmentDC>();
|
var appointments = new List<SchedulerAppointmentDC>();
|
||||||
var allCust = new List<CompactCustomerDC>();
|
var allCust = new List<CompactCustomerDC>();
|
||||||
|
|
||||||
var abwesenheiten = new List<AbsenceTimeDC>();
|
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());
|
ServiceFacade.DoResourceServiceSync(s => mAllCats2ResInDic = s.GetAllCategories2ResourcesInDictionary());
|
||||||
|
|
||||||
var start = intervalStart - NewSchedulerView.FetchPadding;
|
var start = pIntervalStart - NewSchedulerView.FetchPadding;
|
||||||
var end = intervalEnd + 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 => 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();
|
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();
|
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)));
|
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
|
//###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 = GetActiveSettings();
|
||||||
SchedulerSettings.StartDate = intervalStart;
|
SchedulerSettings.StartDate = pIntervalStart;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AbstractAppointmentEditForm GetEditAppointmentForm(DevExpress.Xpf.Scheduler.SchedulerControl control, Appointment appointment)
|
public AbstractAppointmentEditForm GetEditAppointmentForm(DevExpress.Xpf.Scheduler.SchedulerControl control, Appointment appointment)
|
||||||
@@ -99,8 +100,10 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
|
|
||||||
internal void InitNewAppointment(Appointment appointment)
|
internal void InitNewAppointment(Appointment appointment)
|
||||||
{
|
{
|
||||||
if(ActiveAppointmentViewModel != null)
|
if(ActiveAppointmentViewModel != null)
|
||||||
ActiveAppointmentViewModel.InitNewAppointment(appointment);
|
{
|
||||||
|
ActiveAppointmentViewModel.InitNewAppointment(appointment);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public SchedulerSettings SchedulerSettings { get; set; }
|
public SchedulerSettings SchedulerSettings { get; set; }
|
||||||
@@ -109,5 +112,17 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
{
|
{
|
||||||
return ActiveAppointmentViewModel == null ? null : SchedulerSettings ?? ActiveAppointmentViewModel.GetDefaultSchedulerSettings();
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,11 +26,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
{
|
{
|
||||||
public class SchedulerAppointmentListVM : AbstractDCListMapperVM<SchedulerAppointmentDC, SchedulerAppointmentVM>, ISchedulerViewModel
|
public class SchedulerAppointmentListVM : AbstractDCListMapperVM<SchedulerAppointmentDC, SchedulerAppointmentVM>, ISchedulerViewModel
|
||||||
{
|
{
|
||||||
private const string CF_EMPLOYEELIST = "EmployeeList";
|
private const string CF_EMPLOYEELIST = "EmployeeList";
|
||||||
private const string CF_CUSTOMERLIST = "CustomerList";
|
private const string CF_CUSTOMERLIST = "CustomerList";
|
||||||
private const string CF_RESOURCELIST = "ResourceList";
|
private const string CF_RESOURCELIST = "ResourceList";
|
||||||
private const string CF_ORIGINATOR = "Originator";
|
private const string CF_ORIGINATOR = "Originator";
|
||||||
private const string CF_ISPRIVATE = "IsPrivate";
|
private const string CF_ISPRIVATE = "IsPrivate";
|
||||||
|
private const string CF_ISABSENCETIME = "IsAbsenceTime";
|
||||||
|
|
||||||
public bool ShouldLockOverlappingAppointmentCheck { get; set; }
|
public bool ShouldLockOverlappingAppointmentCheck { get; set; }
|
||||||
|
|
||||||
@@ -118,6 +119,7 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
item.CustomFields.Add(CF_RESOURCELIST, item.ResourceList);
|
item.CustomFields.Add(CF_RESOURCELIST, item.ResourceList);
|
||||||
item.CustomFields.Add(CF_ORIGINATOR, item.Originator);
|
item.CustomFields.Add(CF_ORIGINATOR, item.Originator);
|
||||||
item.CustomFields.Add(CF_ISPRIVATE, item.IsPrivate);
|
item.CustomFields.Add(CF_ISPRIVATE, item.IsPrivate);
|
||||||
|
item.CustomFields.Add(CF_ISABSENCETIME, item.IsAbsenceTime);
|
||||||
|
|
||||||
item.Id = item.DataContract.SchedulerAppointmentOid;
|
item.Id = item.DataContract.SchedulerAppointmentOid;
|
||||||
|
|
||||||
@@ -127,7 +129,7 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
item.Description = "Privater Termin";
|
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.Originator = app.CustomFields[CF_ORIGINATOR] as CompactEmployeeDC;
|
||||||
vm.IsPrivate = app.CustomFields[CF_ISPRIVATE] != null && (bool) app.CustomFields[CF_ISPRIVATE];
|
vm.IsPrivate = app.CustomFields[CF_ISPRIVATE] != null && (bool) app.CustomFields[CF_ISPRIVATE];
|
||||||
|
|
||||||
// Soll nicht mehr geschehen
|
if (!vm.CustomFields.ContainsKey(CF_EMPLOYEELIST))
|
||||||
//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"))
|
|
||||||
{
|
{
|
||||||
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)
|
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))
|
if (app.Type.Equals(AppointmentType.ChangedOccurrence))
|
||||||
{
|
{
|
||||||
app.CustomFields["EmployeeList"] = changedOccurencyCustomFields[id][index]["EmployeeList"];
|
app.CustomFields[CF_EMPLOYEELIST] = changedOccurencyCustomFields[id][index][CF_EMPLOYEELIST];
|
||||||
app.CustomFields["CustomerList"] = changedOccurencyCustomFields[id][index]["CustomerList"];
|
app.CustomFields[CF_CUSTOMERLIST] = changedOccurencyCustomFields[id][index][CF_CUSTOMERLIST];
|
||||||
app.CustomFields["ResourceList"] = changedOccurencyCustomFields[id][index]["ResourceList"];
|
app.CustomFields[CF_RESOURCELIST] = changedOccurencyCustomFields[id][index][CF_RESOURCELIST];
|
||||||
app.CustomFields["Originator"] = changedOccurencyCustomFields[id][index]["Originator"];
|
app.CustomFields[CF_ORIGINATOR] = changedOccurencyCustomFields[id][index][CF_ORIGINATOR];
|
||||||
app.CustomFields["IsPrivate"] = changedOccurencyCustomFields[id][index]["IsPrivate"];
|
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)
|
public void AddCustomFieldsMapping(SchedulerStorage schedulerStorage)
|
||||||
{
|
{
|
||||||
var employeeMapping = new SchedulerCustomFieldMapping(CF_EMPLOYEELIST, CF_EMPLOYEELIST);
|
var employeeMapping = new SchedulerCustomFieldMapping(CF_EMPLOYEELIST, CF_EMPLOYEELIST);
|
||||||
var customerMapping = new SchedulerCustomFieldMapping(CF_CUSTOMERLIST, CF_CUSTOMERLIST);
|
var customerMapping = new SchedulerCustomFieldMapping(CF_CUSTOMERLIST, CF_CUSTOMERLIST);
|
||||||
var resourceMapping = new SchedulerCustomFieldMapping(CF_RESOURCELIST, CF_RESOURCELIST);
|
var resourceMapping = new SchedulerCustomFieldMapping(CF_RESOURCELIST, CF_RESOURCELIST);
|
||||||
var originatorMapping = new SchedulerCustomFieldMapping(CF_ORIGINATOR, CF_ORIGINATOR);
|
var originatorMapping = new SchedulerCustomFieldMapping(CF_ORIGINATOR, CF_ORIGINATOR);
|
||||||
var isPrivateMapping = new SchedulerCustomFieldMapping(CF_ISPRIVATE, CF_ISPRIVATE);
|
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(employeeMapping);
|
||||||
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(customerMapping);
|
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(customerMapping);
|
||||||
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(resourceMapping);
|
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(resourceMapping);
|
||||||
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(originatorMapping);
|
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(originatorMapping);
|
||||||
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(isPrivateMapping);
|
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(isPrivateMapping);
|
||||||
|
schedulerStorage.AppointmentStorage.CustomFieldMappings.Add(isAbsenceTimeMapping);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitNewAppointment(Appointment appointment)
|
public void InitNewAppointment(Appointment appointment)
|
||||||
{
|
{
|
||||||
appointment.CustomFields[CF_CUSTOMERLIST] = new List<CompactCustomerDC>();
|
appointment.CustomFields[CF_CUSTOMERLIST] = new List<CompactCustomerDC>();
|
||||||
appointment.CustomFields[CF_EMPLOYEELIST] = new List<Employee2SchedulerAppointmentDC>();
|
appointment.CustomFields[CF_EMPLOYEELIST] = new List<Employee2SchedulerAppointmentDC>();
|
||||||
appointment.CustomFields[CF_RESOURCELIST] = new List<ResourceDC>();
|
appointment.CustomFields[CF_RESOURCELIST] = new List<ResourceDC>();
|
||||||
ServiceFacade.DoEmployeeServiceSync(s => appointment.CustomFields[CF_ORIGINATOR] = s.LoadCompactEmployee(BeWoApp.LoggedOnEmployee.EmployeeOid.Value));
|
ServiceFacade.DoEmployeeServiceSync(s => appointment.CustomFields[CF_ORIGINATOR] = s.LoadCompactEmployee(BeWoApp.LoggedOnEmployee.EmployeeOid.Value));
|
||||||
appointment.CustomFields[CF_ISPRIVATE] = false;
|
appointment.CustomFields[CF_ISPRIVATE] = false;
|
||||||
appointment.StatusId = 0;
|
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
|
var wirdAngezeigt = true; // -> wird standardmäßig angezeigt
|
||||||
|
|
||||||
bool isPrivate = false;
|
var isPrivate = false;
|
||||||
if (appointment.CustomFields["IsPrivate"] != null)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
var ersteller = (CompactEmployeeDC)appointment.CustomFields["Originator"];
|
var ersteller = (CompactEmployeeDC)appointment.CustomFields[CF_ORIGINATOR];
|
||||||
var employeeList = (List<Employee2SchedulerAppointmentDC>)appointment.CustomFields["EmployeeList"];
|
var employeeList = (List<Employee2SchedulerAppointmentDC>)appointment.CustomFields[CF_EMPLOYEELIST];
|
||||||
var customerList = (List<CompactCustomerDC>)appointment.CustomFields["CustomerList"];
|
var customerList = (List<CompactCustomerDC>)appointment.CustomFields[CF_CUSTOMERLIST];
|
||||||
var resourceList = (List<ResourceDC>)appointment.CustomFields["ResourceList"];
|
var resourceList = (List<ResourceDC>)appointment.CustomFields[CF_RESOURCELIST];
|
||||||
|
|
||||||
if (isPrivate)
|
if (isPrivate)
|
||||||
{
|
{
|
||||||
@@ -482,8 +500,6 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
var mitarbeiter = (List<CompactEmployeeDC>)dictionary["Mitarbeiter"];
|
var mitarbeiter = (List<CompactEmployeeDC>)dictionary["Mitarbeiter"];
|
||||||
var klienten = (List<CompactCustomerDC>)dictionary["Klienten"];
|
var klienten = (List<CompactCustomerDC>)dictionary["Klienten"];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var cfe = employeeList != null ? employeeList.Select(s => s.Employee).ToList() : new List<CompactEmployeeDC>();
|
var cfe = employeeList != null ? employeeList.Select(s => s.Employee).ToList() : new List<CompactEmployeeDC>();
|
||||||
var cfr = resourceList ?? new List<ResourceDC>();
|
var cfr = resourceList ?? new List<ResourceDC>();
|
||||||
var cfc = customerList ?? new List<CompactCustomerDC>();
|
var cfc = customerList ?? new List<CompactCustomerDC>();
|
||||||
@@ -498,7 +514,7 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
break;
|
break;
|
||||||
case "Ebenen":
|
case "Ebenen":
|
||||||
var liste = (List<bool>)selectedObject; // mkr
|
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
|
// Ersteller und Rechte beachten
|
||||||
|
|
||||||
@@ -528,7 +544,7 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return !wirdAngezeigt;
|
return !wirdAngezeigt;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitChangedOccurrencyCustomFields(IEnumerable<SchedulerAppointmentDC> appList)
|
public void InitChangedOccurrencyCustomFields(IEnumerable<SchedulerAppointmentDC> appList)
|
||||||
@@ -555,6 +571,7 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
customFieldCollection[CF_RESOURCELIST] = termin.ResourceList;
|
customFieldCollection[CF_RESOURCELIST] = termin.ResourceList;
|
||||||
customFieldCollection[CF_ORIGINATOR] = termin.Originator;
|
customFieldCollection[CF_ORIGINATOR] = termin.Originator;
|
||||||
customFieldCollection[CF_ISPRIVATE] = termin.IsPrivate;
|
customFieldCollection[CF_ISPRIVATE] = termin.IsPrivate;
|
||||||
|
customFieldCollection[CF_ISABSENCETIME] = false;
|
||||||
|
|
||||||
//###Lyndon testen!!!
|
//###Lyndon testen!!!
|
||||||
//var id = app.RecurrenceInfo.Id;
|
//var id = app.RecurrenceInfo.Id;
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
private List<CompactCustomerDC> _CustomerList;
|
private List<CompactCustomerDC> _CustomerList;
|
||||||
private List<ResourceDC> _ResourceList;
|
private List<ResourceDC> _ResourceList;
|
||||||
private CompactEmployeeDC _Originator;
|
private CompactEmployeeDC _Originator;
|
||||||
private bool _IsAbsenceTime;
|
|
||||||
|
|
||||||
public object Id { get; set; }
|
public object Id { get; set; }
|
||||||
public int LabelId { get; set; }
|
public int LabelId { get; set; }
|
||||||
@@ -89,6 +88,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_End, value))
|
if (AreDifferent(_End, value))
|
||||||
{
|
{
|
||||||
_End = value;
|
_End = value;
|
||||||
|
|
||||||
|
if (IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.EndDate, value), PropertyName_End);
|
StoreDirtyInformation(AreDifferent(DataContract.EndDate, value), PropertyName_End);
|
||||||
FirePropertyChanged(PropertyName_End);
|
FirePropertyChanged(PropertyName_End);
|
||||||
}
|
}
|
||||||
@@ -102,6 +107,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_Start, value))
|
if (AreDifferent(_Start, value))
|
||||||
{
|
{
|
||||||
_Start = value;
|
_Start = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.StartDate, value), PropertyName_Start);
|
StoreDirtyInformation(AreDifferent(DataContract.StartDate, value), PropertyName_Start);
|
||||||
FirePropertyChanged(PropertyName_Start);
|
FirePropertyChanged(PropertyName_Start);
|
||||||
}
|
}
|
||||||
@@ -115,6 +126,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_AllDay, value))
|
if (AreDifferent(_AllDay, value))
|
||||||
{
|
{
|
||||||
_AllDay = value;
|
_AllDay = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.AllDay, value), PropertyName_AllDay);
|
StoreDirtyInformation(AreDifferent(DataContract.AllDay, value), PropertyName_AllDay);
|
||||||
FirePropertyChanged(PropertyName_AllDay);
|
FirePropertyChanged(PropertyName_AllDay);
|
||||||
}
|
}
|
||||||
@@ -128,6 +145,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_Subject, value))
|
if (AreDifferent(_Subject, value))
|
||||||
{
|
{
|
||||||
_Subject = value;
|
_Subject = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.Subject, value), PropertyName_Subject);
|
StoreDirtyInformation(AreDifferent(DataContract.Subject, value), PropertyName_Subject);
|
||||||
FirePropertyChanged(PropertyName_Subject);
|
FirePropertyChanged(PropertyName_Subject);
|
||||||
}
|
}
|
||||||
@@ -141,6 +164,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_Location, value))
|
if (AreDifferent(_Location, value))
|
||||||
{
|
{
|
||||||
_Location = value;
|
_Location = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.Location, value), PropertyName_Location);
|
StoreDirtyInformation(AreDifferent(DataContract.Location, value), PropertyName_Location);
|
||||||
FirePropertyChanged(PropertyName_Location);
|
FirePropertyChanged(PropertyName_Location);
|
||||||
}
|
}
|
||||||
@@ -154,6 +183,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_Status, value))
|
if (AreDifferent(_Status, value))
|
||||||
{
|
{
|
||||||
_Status = value;
|
_Status = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.Status, value), PropertyName_Status);
|
StoreDirtyInformation(AreDifferent(DataContract.Status, value), PropertyName_Status);
|
||||||
FirePropertyChanged(PropertyName_Status);
|
FirePropertyChanged(PropertyName_Status);
|
||||||
}
|
}
|
||||||
@@ -167,6 +202,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_RecurrenceInfo, value))
|
if (AreDifferent(_RecurrenceInfo, value))
|
||||||
{
|
{
|
||||||
_RecurrenceInfo = value;
|
_RecurrenceInfo = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.RecurrenceInfo, value), PropertyName_RecurrenceInfo);
|
StoreDirtyInformation(AreDifferent(DataContract.RecurrenceInfo, value), PropertyName_RecurrenceInfo);
|
||||||
FirePropertyChanged(PropertyName_RecurrenceInfo);
|
FirePropertyChanged(PropertyName_RecurrenceInfo);
|
||||||
}
|
}
|
||||||
@@ -180,6 +221,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_Description, value))
|
if (AreDifferent(_Description, value))
|
||||||
{
|
{
|
||||||
_Description = value;
|
_Description = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.Description, value), PropertyName_Description);
|
StoreDirtyInformation(AreDifferent(DataContract.Description, value), PropertyName_Description);
|
||||||
FirePropertyChanged(PropertyName_Description);
|
FirePropertyChanged(PropertyName_Description);
|
||||||
}
|
}
|
||||||
@@ -193,6 +240,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_EmployeeList, value))
|
if (AreDifferent(_EmployeeList, value))
|
||||||
{
|
{
|
||||||
_EmployeeList = value;
|
_EmployeeList = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.EmployeeList, value), PropertyName_EmployeeList);
|
StoreDirtyInformation(AreDifferent(DataContract.EmployeeList, value), PropertyName_EmployeeList);
|
||||||
FirePropertyChanged(PropertyName_EmployeeList);
|
FirePropertyChanged(PropertyName_EmployeeList);
|
||||||
}
|
}
|
||||||
@@ -206,6 +259,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_CustomerList, value))
|
if (AreDifferent(_CustomerList, value))
|
||||||
{
|
{
|
||||||
_CustomerList = value;
|
_CustomerList = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.CustomerList, value), PropertyName_CustomerList);
|
StoreDirtyInformation(AreDifferent(DataContract.CustomerList, value), PropertyName_CustomerList);
|
||||||
FirePropertyChanged(PropertyName_CustomerList);
|
FirePropertyChanged(PropertyName_CustomerList);
|
||||||
}
|
}
|
||||||
@@ -219,6 +278,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_ResourceList, value))
|
if (AreDifferent(_ResourceList, value))
|
||||||
{
|
{
|
||||||
_ResourceList = value;
|
_ResourceList = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.ResourceList, value), PropertyName_ResourceList);
|
StoreDirtyInformation(AreDifferent(DataContract.ResourceList, value), PropertyName_ResourceList);
|
||||||
FirePropertyChanged(PropertyName_ResourceList);
|
FirePropertyChanged(PropertyName_ResourceList);
|
||||||
}
|
}
|
||||||
@@ -232,6 +297,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_IsPrivate, value))
|
if (AreDifferent(_IsPrivate, value))
|
||||||
{
|
{
|
||||||
_IsPrivate = value;
|
_IsPrivate = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.IsPrivate,value), PropertyName_IsPrivate);
|
StoreDirtyInformation(AreDifferent(DataContract.IsPrivate,value), PropertyName_IsPrivate);
|
||||||
FirePropertyChanged(PropertyName_IsPrivate);
|
FirePropertyChanged(PropertyName_IsPrivate);
|
||||||
}
|
}
|
||||||
@@ -245,6 +316,12 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
if (AreDifferent(_Originator, value))
|
if (AreDifferent(_Originator, value))
|
||||||
{
|
{
|
||||||
_Originator = value;
|
_Originator = value;
|
||||||
|
|
||||||
|
if(IsAbsenceTime)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
StoreDirtyInformation(AreDifferent(DataContract.Originator, value), PropertyName_Originator);
|
StoreDirtyInformation(AreDifferent(DataContract.Originator, value), PropertyName_Originator);
|
||||||
FirePropertyChanged(PropertyName_Originator);
|
FirePropertyChanged(PropertyName_Originator);
|
||||||
}
|
}
|
||||||
@@ -261,22 +338,33 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
set { }
|
set { }
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual bool IsAbsenceTime
|
public virtual bool IsAbsenceTime { get; }
|
||||||
{
|
|
||||||
get { return _IsAbsenceTime; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public SchedulerAppointmentVM(SchedulerAppointmentDC pDC) : base(pDC, pDC.SchedulerAppointmentOid == null) {}
|
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()
|
public void UpdateCustomFields()
|
||||||
{
|
{
|
||||||
CustomFields = new Dictionary<string, object>
|
CustomFields = new Dictionary<string, object>
|
||||||
{
|
{
|
||||||
{"EmployeeList", EmployeeList},
|
{"EmployeeList", EmployeeList},
|
||||||
{"CustomerList", CustomerList},
|
{"CustomerList", CustomerList},
|
||||||
{"ResourceList", ResourceList},
|
{"ResourceList", ResourceList},
|
||||||
{"Originator", Originator},
|
{"Originator", Originator},
|
||||||
{"IsPrivate", IsPrivate}
|
{"IsPrivate", IsPrivate},
|
||||||
|
{PropertyName_IsAbsenceTime, IsAbsenceTime}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -394,5 +482,17 @@ namespace BeWo.Scheduler.ViewModel
|
|||||||
? GetType().Name.GetHashCode() ^ DataContract.SchedulerAppointmentOid.Value.GetHashCode()
|
? GetType().Name.GetHashCode() ^ DataContract.SchedulerAppointmentOid.Value.GetHashCode()
|
||||||
: base.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; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3748,6 +3748,11 @@ namespace BeWo.ServiceProxy
|
|||||||
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IResourceService/GetAllActiveAppointmentsForEmployeeInInterval" +
|
[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")]
|
"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.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")]
|
[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);
|
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")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ namespace BeWo.View
|
|||||||
|
|
||||||
//var zeitraum = new DateTime(jahr, monat, 1);
|
//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)
|
private void ButtonBargeldtransaktionDeleteClick(object sender, RoutedEventArgs e)
|
||||||
@@ -303,7 +303,7 @@ namespace BeWo.View
|
|||||||
|
|
||||||
var transaktion = control.GetCurrentValue<BargeldtransaktionsVM>().CommitToDataContract();
|
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)
|
private void ButtonAddBargeldkasseClick(object sender, RoutedEventArgs e)
|
||||||
|
|||||||
@@ -7,110 +7,131 @@
|
|||||||
xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing"
|
xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing"
|
||||||
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
||||||
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
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">
|
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True">
|
||||||
|
|
||||||
|
|
||||||
<GroupBox Header="Quittierungsbelege" Style="{StaticResource ObjectEditGroupBox}">
|
<GroupBox Header="Quittierungsbelege" Style="{StaticResource ObjectEditGroupBox}">
|
||||||
<TabControl>
|
<TabControl>
|
||||||
<TabItem Header="Neu Erstellen" x:Name="TabItemNeuErstellen" >
|
<TabItem Header="Neu Erstellen" x:Name="TabItemNeuErstellen">
|
||||||
|
<Grid>
|
||||||
<Grid>
|
<Grid.ColumnDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<ColumnDefinition Width="*"/>
|
||||||
<ColumnDefinition Width="*"/>
|
</Grid.ColumnDefinitions>
|
||||||
</Grid.ColumnDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<Grid.RowDefinitions>
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="*" />
|
||||||
<RowDefinition Height="*" />
|
</Grid.RowDefinitions>
|
||||||
</Grid.RowDefinitions>
|
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Row="0">
|
||||||
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Row="0">
|
<Grid>
|
||||||
<Grid>
|
<Grid.ColumnDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<ColumnDefinition Width="Auto" />
|
||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="Auto" />
|
||||||
<ColumnDefinition Width="Auto" />
|
<ColumnDefinition Width="*" MinWidth="50"/>
|
||||||
<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" />
|
||||||
<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.ColumnDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<Grid.RowDefinitions>
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
<RowDefinition Height="Auto" />
|
</Grid.RowDefinitions>
|
||||||
</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"
|
<uc:PopUpEdit IsReadOnly="True" Height="23" Grid.Row="0" Grid.Column="2"
|
||||||
x:Name="popupedit_customer" DeleteButtonVisibility="Collapsed"
|
x:Name="popupedit_customer" DeleteButtonVisibility="Collapsed"
|
||||||
Visibility="{Binding Path=IsChecked, ElementName=checkbox_all, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='false'}"
|
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" />
|
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" />
|
<Label Margin="0 2" Content="Vom" Grid.Row="0" Grid.Column="5" />
|
||||||
<ComboBox Height="23" x:Name="combobox_month" Grid.Column="4" Margin="3" VerticalAlignment="Top" Width="90" />
|
<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" />
|
<TextBlock Margin="0 7,3,0" Text=". bis" Grid.Row="0" Grid.Column="7" Foreground="Black" />
|
||||||
<ComboBox Height="23" x:Name="combobox_Startday" Grid.Column="6" Margin="3,3,0,3" VerticalAlignment="Top" Width="50" />
|
<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" />
|
<TextBlock Margin="0 7,3,0" Text=". Jahr" Grid.Row="0" Grid.Column="9" Foreground="Black"/>
|
||||||
<ComboBox Height="23" x:Name="combobox_Endday" Grid.Column="8" Margin="3,3,0,3" VerticalAlignment="Top" Width="50" />
|
<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"/>
|
<Button Name="button_generate" Grid.Row="0" Grid.Column="11" VerticalAlignment="Top" FontWeight="Bold" Content="Erstellen" Click="button_generate_Click" Height="23" Margin="3" />
|
||||||
<ComboBox Height="23" x:Name="combobox_year" Grid.Column="10" VerticalAlignment="Top" Margin="3" Width="60" />
|
|
||||||
|
|
||||||
<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">
|
<StackPanel Grid.Row="3" 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" />
|
<CheckBox Margin="3 7" Grid.Row="1" Name="ChkForAllServiceCategories" Content="Nur für ausgewählte Leistungskategorie erstellen" IsChecked="False" />
|
||||||
<uc:PopUpEdit PreviewMouseDoubleClick="Popupedit_costbearer_OnPreviewMouseDoubleClick"
|
<uc:NullItemComboBox Width="250" Margin="3" VerticalAlignment="Top" x:Name="ServiceCategoriesComboBox" SelectedIndex="0"
|
||||||
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"
|
|
||||||
Visibility="{Binding Path=IsChecked, ElementName=ChkForAllServiceCategories, Converter={StaticResource BoolVisibilityConverter}, ConverterParameter='true'}"/>
|
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">
|
<Popup Margin="10" Name="popup_customer" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
|
||||||
<localSearchView:CustomerSearchView ItemSelected="CustomerSearchView_CustomerSelected" x:Name="customersearchview" />
|
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
|
||||||
</Popup>
|
<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">
|
<Popup Margin="10" Name="popup_costbearer" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
|
||||||
<localSearchView:OrganisationSearchView SearchMode="CostBearer" ItemSelected="OrganisationSearchView_OrganisationSelected" x:Name="organisationsearchview" />
|
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
|
||||||
</Popup>
|
<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">
|
<Popup Margin="10" Name="popup_employee" StaysOpen="False" Placement="MousePoint" Width="400" Grid.Row="3"
|
||||||
<localSearchView:EmployeeSearchView ItemSelected="EmployeeSearchView_EmployeeSelected" x:Name="employeesearchview" />
|
Grid.Column="0" Height="400" Closed="popup_Closed" Opened="popup_Opened">
|
||||||
</Popup>
|
<localSearchView:EmployeeSearchView ItemSelected="EmployeeSearchView_EmployeeSelected" x:Name="employeesearchview" />
|
||||||
</Grid>
|
</Popup>
|
||||||
</ScrollViewer>
|
</Grid>
|
||||||
|
</ScrollViewer>
|
||||||
|
|
||||||
<dxp:DocumentPreview x:Name="docPrevControl" Grid.Row="1" Visibility="Collapsed"></dxp:DocumentPreview>
|
<dxp:DocumentPreviewControl x:Name="docPrevControl" Grid.Row="1" Visibility="Collapsed" CommandBarStyle="Bars">
|
||||||
|
<dxp:DocumentPreviewControl.CommandProvider>
|
||||||
|
<dxp:DocumentCommandProvider>
|
||||||
</Grid>
|
<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>
|
</TabItem>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
|
||||||
using BeWo.Controls;
|
using BeWo.Controls;
|
||||||
using BeWo.Core;
|
using BeWo.Core;
|
||||||
using BeWo.SchulbegleitenderDienst;
|
|
||||||
using BeWo.ServiceProxy;
|
using BeWo.ServiceProxy;
|
||||||
using BeWo.ViewModel;
|
using BeWo.ViewModel;
|
||||||
|
|
||||||
@@ -17,10 +18,8 @@ using BS.Shared.Core;
|
|||||||
using BS.Shared.DataContracts;
|
using BS.Shared.DataContracts;
|
||||||
using BS.Shared.DataContracts.Compact;
|
using BS.Shared.DataContracts.Compact;
|
||||||
using BS.Shared.Extensions;
|
using BS.Shared.Extensions;
|
||||||
|
|
||||||
using DevExpress.Xpf.Core;
|
using DevExpress.Xpf.Core;
|
||||||
using DevExpress.Xpf.Editors;
|
using DevExpress.Xpf.Editors;
|
||||||
using DevExpress.Xpf.Grid;
|
|
||||||
using DevExpress.Xpf.Printing;
|
using DevExpress.Xpf.Printing;
|
||||||
using DevExpress.XtraReports.UI;
|
using DevExpress.XtraReports.UI;
|
||||||
|
|
||||||
@@ -49,36 +48,40 @@ namespace BeWo.View.Detail.Report
|
|||||||
|
|
||||||
public bool FetchReferenceNumbers { get; set; }
|
public bool FetchReferenceNumbers { get; set; }
|
||||||
|
|
||||||
public ServicesReportView()
|
public ServicesReportView()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
InitDateCombos();
|
InitDateCombos();
|
||||||
InitServiceCategoryCombo();
|
InitServiceCategoryCombo();
|
||||||
|
|
||||||
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
|
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.CustomerView_View))
|
||||||
//{
|
//{
|
||||||
// checkbox_all.IsEnabled = false;
|
// checkbox_all.IsEnabled = false;
|
||||||
// checkbox_all.IsChecked = false;
|
// checkbox_all.IsChecked = false;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//DatepickerUbersicht.DateTime = DateTime.Now;
|
//DatepickerUbersicht.DateTime = DateTime.Now;
|
||||||
SetMonthCombobox();
|
SetMonthCombobox();
|
||||||
|
|
||||||
|
|
||||||
GridControlQuittierungsCheck.ItemsSource = _quittierungsCheck;
|
GridControlQuittierungsCheck.ItemsSource = _quittierungsCheck;
|
||||||
|
|
||||||
//GetQuittierungsCheckCustomerList(DateTime.Now);
|
//GetQuittierungsCheckCustomerList(DateTime.Now);
|
||||||
|
|
||||||
combobox_month.SelectionChanged += combobox_month_SelectionChanged;
|
combobox_month.SelectionChanged += combobox_month_SelectionChanged;
|
||||||
combobox_year.SelectionChanged += combobox_year_SelectionChanged;
|
combobox_year.SelectionChanged += combobox_year_SelectionChanged;
|
||||||
|
|
||||||
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, Theme.Office2010Black);
|
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, Theme.Office2010Black);
|
||||||
//ThemeManager.SetTheme(docPrevControl, 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();
|
InitDayCombos();
|
||||||
}
|
}
|
||||||
@@ -197,32 +200,52 @@ namespace BeWo.View.Detail.Report
|
|||||||
{
|
{
|
||||||
long orgaOid = 0;
|
long orgaOid = 0;
|
||||||
long empOid = 0;
|
long empOid = 0;
|
||||||
|
|
||||||
if (checkbox_all.IsChecked.Value)
|
if (checkbox_all.IsChecked.Value)
|
||||||
_Customer = null;
|
{
|
||||||
|
_Customer = null;
|
||||||
|
}
|
||||||
|
|
||||||
if (!chkForAllCostbearer.IsChecked.Value)
|
if (!chkForAllCostbearer.IsChecked.Value)
|
||||||
_Organisation = null;
|
{
|
||||||
|
_Organisation = null;
|
||||||
|
}
|
||||||
|
|
||||||
if (!chkForAllEmployees.IsChecked.Value)
|
if (!chkForAllEmployees.IsChecked.Value)
|
||||||
_Employee = null;
|
{
|
||||||
|
_Employee = null;
|
||||||
|
}
|
||||||
|
|
||||||
if (!checkbox_all.IsChecked.Value && _Customer == 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)
|
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)
|
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)
|
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
|
else
|
||||||
{
|
{
|
||||||
if (_Organisation != null)
|
if (_Organisation != null)
|
||||||
orgaOid = _Organisation.OrganisationOid;
|
{
|
||||||
|
orgaOid = _Organisation.OrganisationOid;
|
||||||
|
}
|
||||||
|
|
||||||
if (_Employee != null)
|
if (_Employee != null)
|
||||||
empOid = _Employee.EmployeeOid;
|
{
|
||||||
|
empOid = _Employee.EmployeeOid;
|
||||||
|
}
|
||||||
|
|
||||||
|
var url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?";
|
||||||
|
|
||||||
string url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?";
|
|
||||||
if (_Customer != null)
|
if (_Customer != null)
|
||||||
{
|
{
|
||||||
var month = new DateTime(DateTime.Now.Year,combobox_month.SelectedIndex + 1,DateTime.Now.Day);
|
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);
|
url += "cOid=" + Customer.CustomerOid + "&type=" + Utils.EnumName(ReportTypes.ServiceOverviewSingleCustomer);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
url += "type=" + Utils.EnumName(ReportTypes.ServiceOverviewAllCustomers);
|
{
|
||||||
|
url += "type=" + Utils.EnumName(ReportTypes.ServiceOverviewAllCustomers);
|
||||||
|
}
|
||||||
|
|
||||||
url += "&orgaOid=" + orgaOid + "&empOid=" + empOid + "&month=" + (combobox_month.SelectedIndex + 1) +
|
url += "&orgaOid=" + orgaOid + "&empOid=" + empOid + "&month=" + (combobox_month.SelectedIndex + 1) +
|
||||||
"&year=" + combobox_year.SelectedItem + "&start=" + combobox_Startday.SelectedItem + "&end=" +
|
"&year=" + combobox_year.SelectedItem + "&start=" + combobox_Startday.SelectedItem + "&end=" +
|
||||||
@@ -249,12 +274,11 @@ namespace BeWo.View.Detail.Report
|
|||||||
|
|
||||||
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
|
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;
|
this.combobox_month.IsEnabled = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3105,8 +3105,7 @@ namespace BeWo.View.Detail
|
|||||||
latestEndDate = latestEndDate.AddMinutes(59);
|
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 }),
|
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")));
|
||||||
cb => this.Dispatch(() => BeWoUtils.ShowReportWindow(cb, null, "Dokumentation")));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PopupInfo_OnOpened(object sender, EventArgs e)
|
private void PopupInfo_OnOpened(object sender, EventArgs e)
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ using NHibernate.SqlCommand;
|
|||||||
|
|
||||||
using BS.Shared.Core;
|
using BS.Shared.Core;
|
||||||
using BS.Shared;
|
using BS.Shared;
|
||||||
|
using NHibernate.Transform;
|
||||||
using Login = BeWo.Data.Entities.Login;
|
using Login = BeWo.Data.Entities.Login;
|
||||||
|
|
||||||
namespace BeWo.Data.Access
|
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).
|
// Wenn das Enddatum null ist, wird das Ende des Intervalls als Enddatum gesetzt (Ist ja eh read-only).
|
||||||
|
|
||||||
var criteria = CreateCriteriaIsActive<AbsenceTime>()
|
var criteria = CreateCriteriaIsActive<AbsenceTime>()
|
||||||
|
.Add(Restrictions.IsNotNull(AbsenceTime.PropertyName_EmployeeOid))
|
||||||
.Add(Restrictions.Or
|
.Add(Restrictions.Or
|
||||||
(Restrictions.Or(Restrictions.Or(
|
(Restrictions.Or(Restrictions.Or(
|
||||||
Restrictions.And(Restrictions.Ge(AbsenceTime.PropertyName_Start, start), Restrictions.Le(AbsenceTime.PropertyName_Start, end)),
|
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));
|
criteria.Add(Restrictions.Eq(AbsenceTime.PropertyName_EmployeeOid, pEmployeeOid));
|
||||||
}
|
}
|
||||||
|
|
||||||
return criteria.List<AbsenceTime>();
|
return criteria.List<AbsenceTime>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,4 +8,4 @@ DROP COLUMN `EmployeeOid`,
|
|||||||
ADD COLUMN `QuittierungsbelegUnterschriebenVon`
|
ADD COLUMN `QuittierungsbelegUnterschriebenVon`
|
||||||
BIGINT(19) NULL DEFAULT NULL COMMENT '' AFTER `QuittierungsbelegGedrucktAm`,
|
BIGINT(19) NULL DEFAULT NULL COMMENT '' AFTER `QuittierungsbelegGedrucktAm`,
|
||||||
ADD COLUMN `QuittierungsbelegGedrucktVon`
|
ADD COLUMN `QuittierungsbelegGedrucktVon`
|
||||||
BIGINT(19) NULL DEFAULT NULL COMMENT '' AFTER `QuittierungsbelegUnterschriebenVonl`;
|
BIGINT(19) NULL DEFAULT NULL COMMENT '' AFTER `QuittierungsbelegUnterschriebenVon`;
|
||||||
|
|||||||
@@ -28,247 +28,248 @@
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
this.components = new System.ComponentModel.Container();
|
this.components = new System.ComponentModel.Container();
|
||||||
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
this.Detail = new DevExpress.XtraReports.UI.DetailBand();
|
||||||
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
|
this.TopMargin = new DevExpress.XtraReports.UI.TopMarginBand();
|
||||||
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
|
this.BottomMargin = new DevExpress.XtraReports.UI.BottomMarginBand();
|
||||||
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
|
this.PageHeader = new DevExpress.XtraReports.UI.PageHeaderBand();
|
||||||
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
this.xrLabel2 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
|
this.xrLabel3 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
this.formattingRule1 = new DevExpress.XtraReports.UI.FormattingRule();
|
this.formattingRule1 = new DevExpress.XtraReports.UI.FormattingRule();
|
||||||
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
this.DetailReport = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||||
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
|
this.Detail1 = new DevExpress.XtraReports.UI.DetailBand();
|
||||||
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
|
this.xrLine1 = new DevExpress.XtraReports.UI.XRLine();
|
||||||
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
|
this.DetailReport1 = new DevExpress.XtraReports.UI.DetailReportBand();
|
||||||
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
|
this.Detail2 = new DevExpress.XtraReports.UI.DetailBand();
|
||||||
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
|
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
|
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
|
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
||||||
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
|
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
|
||||||
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
|
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
|
||||||
this.xrLabel6 = new DevExpress.XtraReports.UI.XRLabel();
|
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
this.xrLabel7 = new DevExpress.XtraReports.UI.XRLabel();
|
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
|
||||||
this.bindingSource2 = new System.Windows.Forms.BindingSource(this.components);
|
this.bindingSource2 = new System.Windows.Forms.BindingSource(this.components);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource2)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.bindingSource2)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
|
||||||
//
|
//
|
||||||
// Detail
|
// Detail
|
||||||
//
|
//
|
||||||
this.Detail.HeightF = 0F;
|
this.Detail.HeightF = 0F;
|
||||||
this.Detail.Name = "Detail";
|
this.Detail.Name = "Detail";
|
||||||
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
this.Detail.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||||
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
this.Detail.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||||
//
|
//
|
||||||
// TopMargin
|
// TopMargin
|
||||||
//
|
//
|
||||||
this.TopMargin.Name = "TopMargin";
|
this.TopMargin.HeightF = 100F;
|
||||||
this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
this.TopMargin.Name = "TopMargin";
|
||||||
this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
this.TopMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||||
//
|
this.TopMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||||
// BottomMargin
|
//
|
||||||
//
|
// BottomMargin
|
||||||
this.BottomMargin.HeightF = 26.1261F;
|
//
|
||||||
this.BottomMargin.Name = "BottomMargin";
|
this.BottomMargin.HeightF = 26.1261F;
|
||||||
this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
this.BottomMargin.Name = "BottomMargin";
|
||||||
this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
this.BottomMargin.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 0, 0, 0, 100F);
|
||||||
//
|
this.BottomMargin.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopLeft;
|
||||||
// PageHeader
|
//
|
||||||
//
|
// PageHeader
|
||||||
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
//
|
||||||
|
this.PageHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||||
this.xrLabel2,
|
this.xrLabel2,
|
||||||
this.xrLabel3});
|
this.xrLabel3});
|
||||||
this.PageHeader.HeightF = 43.22917F;
|
this.PageHeader.HeightF = 43.22917F;
|
||||||
this.PageHeader.Name = "PageHeader";
|
this.PageHeader.Name = "PageHeader";
|
||||||
//
|
//
|
||||||
// xrLabel2
|
// xrLabel2
|
||||||
//
|
//
|
||||||
this.xrLabel2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
|
this.xrLabel2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
|
||||||
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
this.xrLabel2.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
|
||||||
this.xrLabel2.Name = "xrLabel2";
|
this.xrLabel2.Name = "xrLabel2";
|
||||||
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
this.xrLabel2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
this.xrLabel2.SizeF = new System.Drawing.SizeF(162.5F, 23F);
|
this.xrLabel2.SizeF = new System.Drawing.SizeF(162.5F, 23F);
|
||||||
this.xrLabel2.StylePriority.UseFont = false;
|
this.xrLabel2.StylePriority.UseFont = false;
|
||||||
this.xrLabel2.StylePriority.UseTextAlignment = false;
|
this.xrLabel2.StylePriority.UseTextAlignment = false;
|
||||||
this.xrLabel2.Text = "[PrintingDate]";
|
this.xrLabel2.Text = "[PrintingDate]";
|
||||||
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
this.xrLabel2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||||
//
|
//
|
||||||
// xrLabel3
|
// xrLabel3
|
||||||
//
|
//
|
||||||
this.xrLabel3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
|
this.xrLabel3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F);
|
||||||
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(162.5F, 0F);
|
this.xrLabel3.LocationFloat = new DevExpress.Utils.PointFloat(162.5F, 0F);
|
||||||
this.xrLabel3.Name = "xrLabel3";
|
this.xrLabel3.Name = "xrLabel3";
|
||||||
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
this.xrLabel3.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
this.xrLabel3.SizeF = new System.Drawing.SizeF(464.5F, 23F);
|
this.xrLabel3.SizeF = new System.Drawing.SizeF(464.5F, 23F);
|
||||||
this.xrLabel3.StylePriority.UseFont = false;
|
this.xrLabel3.StylePriority.UseFont = false;
|
||||||
this.xrLabel3.StylePriority.UseTextAlignment = false;
|
this.xrLabel3.StylePriority.UseTextAlignment = false;
|
||||||
this.xrLabel3.Text = "[PrintingEmployee]";
|
this.xrLabel3.Text = "[PrintingEmployee]";
|
||||||
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
this.xrLabel3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
|
||||||
//
|
//
|
||||||
// formattingRule1
|
// formattingRule1
|
||||||
//
|
//
|
||||||
this.formattingRule1.Name = "formattingRule1";
|
this.formattingRule1.Name = "formattingRule1";
|
||||||
//
|
//
|
||||||
// DetailReport
|
// DetailReport
|
||||||
//
|
//
|
||||||
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
this.DetailReport.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||||
this.Detail1,
|
this.Detail1,
|
||||||
this.DetailReport1});
|
this.DetailReport1});
|
||||||
this.DetailReport.DataMember = "KalenderTageSortiert";
|
this.DetailReport.DataMember = "KalenderTageSortiert";
|
||||||
this.DetailReport.DataSource = this.bindingSource2;
|
this.DetailReport.DataSource = this.bindingSource2;
|
||||||
this.DetailReport.Level = 0;
|
this.DetailReport.Level = 0;
|
||||||
this.DetailReport.Name = "DetailReport";
|
this.DetailReport.Name = "DetailReport";
|
||||||
//
|
//
|
||||||
// Detail1
|
// Detail1
|
||||||
//
|
//
|
||||||
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
this.Detail1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||||
this.xrLabel1,
|
this.xrLabel1,
|
||||||
this.xrLine1});
|
this.xrLine1});
|
||||||
this.Detail1.HeightF = 55.00001F;
|
this.Detail1.HeightF = 55.00001F;
|
||||||
this.Detail1.Name = "Detail1";
|
this.Detail1.Name = "Detail1";
|
||||||
//
|
//
|
||||||
// xrLabel1
|
// xrLabel1
|
||||||
//
|
//
|
||||||
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
this.xrLabel1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Datum")});
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Datum")});
|
||||||
this.xrLabel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 20F);
|
this.xrLabel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 20F);
|
||||||
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10.00001F);
|
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 10.00001F);
|
||||||
this.xrLabel1.Name = "xrLabel1";
|
this.xrLabel1.Name = "xrLabel1";
|
||||||
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
|
||||||
this.xrLabel1.SizeF = new System.Drawing.SizeF(366.6667F, 35F);
|
this.xrLabel1.SizeF = new System.Drawing.SizeF(366.6667F, 35F);
|
||||||
this.xrLabel1.StylePriority.UseFont = false;
|
this.xrLabel1.StylePriority.UseFont = false;
|
||||||
this.xrLabel1.StylePriority.UseTextAlignment = false;
|
this.xrLabel1.StylePriority.UseTextAlignment = false;
|
||||||
this.xrLabel1.Text = "xrLabel1";
|
this.xrLabel1.Text = "xrLabel1";
|
||||||
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
|
||||||
//
|
//
|
||||||
// xrLine1
|
// xrLine1
|
||||||
//
|
//
|
||||||
this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 45.00001F);
|
this.xrLine1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 45.00001F);
|
||||||
this.xrLine1.Name = "xrLine1";
|
this.xrLine1.Name = "xrLine1";
|
||||||
this.xrLine1.SizeF = new System.Drawing.SizeF(626.9999F, 10F);
|
this.xrLine1.SizeF = new System.Drawing.SizeF(626.9999F, 10F);
|
||||||
//
|
//
|
||||||
// DetailReport1
|
// DetailReport1
|
||||||
//
|
//
|
||||||
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
this.DetailReport1.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||||
this.Detail2});
|
this.Detail2});
|
||||||
this.DetailReport1.DataMember = "KalenderTageSortiert.Termine";
|
this.DetailReport1.DataMember = "KalenderTageSortiert.Termine";
|
||||||
this.DetailReport1.DataSource = this.bindingSource2;
|
this.DetailReport1.DataSource = this.bindingSource2;
|
||||||
this.DetailReport1.Level = 0;
|
this.DetailReport1.Level = 0;
|
||||||
this.DetailReport1.Name = "DetailReport1";
|
this.DetailReport1.Name = "DetailReport1";
|
||||||
//
|
//
|
||||||
// Detail2
|
// Detail2
|
||||||
//
|
//
|
||||||
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
this.Detail2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
|
||||||
this.xrLabel7,
|
this.xrLabel7,
|
||||||
this.xrLabel6,
|
this.xrLabel6,
|
||||||
this.xrLabel5,
|
this.xrLabel5,
|
||||||
this.xrLabel4,
|
this.xrLabel4,
|
||||||
this.xrTable1});
|
this.xrTable1});
|
||||||
this.Detail2.HeightF = 145F;
|
this.Detail2.HeightF = 145F;
|
||||||
this.Detail2.Name = "Detail2";
|
this.Detail2.Name = "Detail2";
|
||||||
//
|
//
|
||||||
// xrTable1
|
// xrLabel7
|
||||||
//
|
//
|
||||||
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(10.00001F, 0F);
|
this.xrLabel7.CanShrink = true;
|
||||||
this.xrTable1.Name = "xrTable1";
|
this.xrLabel7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
|
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.xrTableRow1});
|
||||||
this.xrTable1.SizeF = new System.Drawing.SizeF(616.9998F, 25F);
|
this.xrTable1.SizeF = new System.Drawing.SizeF(616.9998F, 25F);
|
||||||
//
|
//
|
||||||
// xrTableRow1
|
// xrTableRow1
|
||||||
//
|
//
|
||||||
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
|
||||||
this.xrTableCell1,
|
this.xrTableCell1,
|
||||||
this.xrTableCell2});
|
this.xrTableCell2});
|
||||||
this.xrTableRow1.Name = "xrTableRow1";
|
this.xrTableRow1.Name = "xrTableRow1";
|
||||||
this.xrTableRow1.Weight = 1D;
|
this.xrTableRow1.Weight = 1D;
|
||||||
//
|
//
|
||||||
// xrTableCell1
|
// xrTableCell1
|
||||||
//
|
//
|
||||||
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
this.xrTableCell1.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.VonBisString")});
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.VonBisString")});
|
||||||
this.xrTableCell1.Name = "xrTableCell1";
|
this.xrTableCell1.Name = "xrTableCell1";
|
||||||
this.xrTableCell1.Text = "xrTableCell1";
|
this.xrTableCell1.Text = "xrTableCell1";
|
||||||
this.xrTableCell1.Weight = 1.1562499237060548D;
|
this.xrTableCell1.Weight = 1.1562499237060548D;
|
||||||
//
|
//
|
||||||
// xrTableCell2
|
// xrTableCell2
|
||||||
//
|
//
|
||||||
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
this.xrTableCell2.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
||||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.SubjectLocationString")});
|
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.SubjectLocationString")});
|
||||||
this.xrTableCell2.Name = "xrTableCell2";
|
this.xrTableCell2.Name = "xrTableCell2";
|
||||||
this.xrTableCell2.Text = "xrTableCell2";
|
this.xrTableCell2.Text = "xrTableCell2";
|
||||||
this.xrTableCell2.Weight = 5.2437500762939449D;
|
this.xrTableCell2.Weight = 5.2437500762939449D;
|
||||||
//
|
//
|
||||||
// xrLabel4
|
// bindingSource2
|
||||||
//
|
//
|
||||||
this.xrLabel4.CanShrink = true;
|
this.bindingSource2.DataSource = typeof(BeWo.Report.ReportObjects.KalenderRO);
|
||||||
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
|
//
|
||||||
new DevExpress.XtraReports.UI.XRBinding("Text", null, "KalenderTageSortiert.Termine.Appointment.Notice")});
|
// DailyAppointmentReportKalender
|
||||||
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(10F, 30F);
|
//
|
||||||
this.xrLabel4.Name = "xrLabel4";
|
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
|
||||||
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.Detail,
|
this.Detail,
|
||||||
this.TopMargin,
|
this.TopMargin,
|
||||||
this.BottomMargin,
|
this.BottomMargin,
|
||||||
this.PageHeader,
|
this.PageHeader,
|
||||||
this.DetailReport});
|
this.DetailReport});
|
||||||
this.DataSource = this.bindingSource2;
|
this.DataSource = this.bindingSource2;
|
||||||
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
|
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
|
||||||
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
|
this.FormattingRuleSheet.AddRange(new DevExpress.XtraReports.UI.FormattingRule[] {
|
||||||
this.formattingRule1});
|
this.formattingRule1});
|
||||||
this.Margins = new System.Drawing.Printing.Margins(100, 100, 100, 26);
|
this.Margins = new System.Drawing.Printing.Margins(100, 100, 100, 26);
|
||||||
this.PageHeight = 1169;
|
this.PageHeight = 1169;
|
||||||
this.PageWidth = 827;
|
this.PageWidth = 827;
|
||||||
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
this.PaperKind = System.Drawing.Printing.PaperKind.A4;
|
||||||
this.Version = "13.1";
|
this.Version = "17.1";
|
||||||
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.bindingSource2)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.bindingSource2)).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
|
DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
|||||||
@@ -40,12 +40,12 @@ namespace BeWo.Report.ReportObjects
|
|||||||
|
|
||||||
if (!kalenderTage.Any(k => k.Datum.Equals(datum)))
|
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
|
else
|
||||||
{
|
{
|
||||||
var kt = kalenderTage.First(f => f.Datum.Equals(datum));
|
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) });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -957,8 +957,7 @@ namespace BeWo.Service.ServiceImplementations
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var absenceTimes = DAOFactory.SearchDAO.GetAllAbsenceTimesInIntervalByEmployee(pStart, pEnd, pEmployeeOid,
|
var absenceTimes = DAOFactory.SearchDAO.GetAllAbsenceTimesInIntervalByEmployee(pStart, pEnd, pEmployeeOid, pHasRightToSeeAllEmployeeAppointments);
|
||||||
pHasRightToSeeAllEmployeeAppointments);
|
|
||||||
|
|
||||||
return MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDCs(absenceTimes).OrderBy(a => a.Start).ToList();
|
return MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDCs(absenceTimes).OrderBy(a => a.Start).ToList();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user