push test

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

View File

@@ -105,6 +105,7 @@
<Reference Include="DevExpress.Xpf.Core.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.Xpf.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">

View File

@@ -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
} }
} }
} }
} }

View File

@@ -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);
} }

View File

@@ -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}">

View File

@@ -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();
} }
} }

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;
}
} }
} }

View File

@@ -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;

View File

@@ -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; }
}
} }
} }

View File

@@ -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")]

View File

@@ -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)

View File

@@ -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>

View File

@@ -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;
} }

View File

@@ -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)

View File

@@ -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>();
} }
} }
} }

View File

@@ -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`;

View File

@@ -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();
} }

View File

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

View File

@@ -40,12 +40,12 @@ namespace BeWo.Report.ReportObjects
if (!kalenderTage.Any(k => k.Datum.Equals(datum))) 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) });
} }
} }

View File

@@ -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();
} }