Schulbegleitender Dienst:
Tabellen angepasst und eine für Klienten ohne Vertretungsbedarf hinzugefügt Bindingfehler behoben WaitLayer2 Bindingfehler behoben
This commit is contained in:
146
BeWo/BeWo.csproj
146
BeWo/BeWo.csproj
@@ -621,6 +621,7 @@
|
||||
<Compile Include="Converter\ParticipationBrushConverter.cs" />
|
||||
<Compile Include="Converter\ReactivationRight2VisibilityConverter.cs" />
|
||||
<Compile Include="Converter\Rights2DefaultBooleanConverter.cs" />
|
||||
<Compile Include="Converter\StringLengthVisibilityConverter.cs" />
|
||||
<Compile Include="Core\AutoLockUI.cs" />
|
||||
<Compile Include="Core\BeWoUtils.cs" />
|
||||
<Compile Include="Core\BeWoWebClient.cs">
|
||||
@@ -670,6 +671,7 @@
|
||||
<Compile Include="SchulbegleitenderDienst\TagesansichtVM.cs" />
|
||||
<Compile Include="SchulbegleitenderDienst\TagesVertretung.cs" />
|
||||
<Compile Include="SchulbegleitenderDienst\ViewModel\SbdConfigVM.cs" />
|
||||
<Compile Include="SchulbegleitenderDienst\ViewModel\VertretungsansichtBaseVM.cs" />
|
||||
<Compile Include="SchulbegleitenderDienst\ViewModel\VertretungWochenansichtVM.cs" />
|
||||
<Compile Include="SchulbegleitenderDienst\View\SbdAdminView.xaml.cs">
|
||||
<DependentUpon>SbdAdminView.xaml</DependentUpon>
|
||||
@@ -2228,362 +2230,362 @@
|
||||
<ItemGroup>
|
||||
<PublishFile Include="Blacklight.Wpf.Controls">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Charts.v17.1.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Data.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Data.v17.1.Linq">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Office.v17.1.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.PivotGrid.v17.1.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Printing.v17.1.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.RichEdit.v17.1.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Sparkline.v17.1.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Utils.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Charts.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Core.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Docking.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Grid.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Grid.v17.1.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Layout.v17.1.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Mvvm.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Printing.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Printing.v17.1.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Ribbon.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Scheduler.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.LightGray.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2007Black.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2010Black.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.Xpf.Themes.Office2016White.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraBars.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraCharts.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraEditors.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraNavBar.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraPivotGrid.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraPrinting.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraReports.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraScheduler.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraScheduler.v17.1.Core">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraScheduler.v17.1.Reporting">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
<PublishFile Include="DevExpress.XtraTreeList.v17.1">
|
||||
<Visible>False</Visible>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<Group>
|
||||
</Group>
|
||||
<TargetPath>
|
||||
</TargetPath>
|
||||
<PublishState>Include</PublishState>
|
||||
<IncludeHash>True</IncludeHash>
|
||||
<FileType>Assembly</FileType>
|
||||
</PublishFile>
|
||||
</ItemGroup>
|
||||
|
||||
22
BeWo/Converter/StringLengthVisibilityConverter.cs
Normal file
22
BeWo/Converter/StringLengthVisibilityConverter.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace BeWo.Converter
|
||||
{
|
||||
public class StringLengthVisibilityConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value == null || value.GetType() != typeof(string) || string.IsNullOrWhiteSpace(value.ToString()))
|
||||
{
|
||||
return Visibility.Collapsed;
|
||||
}
|
||||
|
||||
return Visibility.Visible;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Windows;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace BeWo.SchulbegleitenderDienst.Converter
|
||||
{
|
||||
public class SubstitutionBrushConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if(value != null)
|
||||
{
|
||||
var color = (Color) (ColorConverter.ConvertFromString(value.ToString()) ?? Color.FromArgb(0,0,0,0));
|
||||
|
||||
return new SolidColorBrush(color);
|
||||
}
|
||||
|
||||
return DependencyProperty.UnsetValue;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) => throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
@@ -17,32 +17,46 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
{
|
||||
var tagesansichtVM = new TagesansichtVM
|
||||
{
|
||||
Absencetime = vertretungsItem.Absencetime,
|
||||
VertretungsStatus = vertretungsItem.VertretungsStatus,
|
||||
Employee = vertretungsItem.Employee,
|
||||
Customer = vertretungsItem.Customer,
|
||||
Schule = vertretungsItem.Schule,
|
||||
Arbeitszeiten = vertretungsItem.Arbeitszeiten,
|
||||
Bemerkung = vertretungsItem.Bemerkung,
|
||||
Vertretung = vertretungsItem.Vertretung,
|
||||
Datum = vertretungsItem.Datum,
|
||||
Vertreter = vertretungsItem.Vertreter,
|
||||
Krankheitsmeldung = vertretungsItem.Krankheitsmeldung,
|
||||
Krankheitszeitraum = vertretungsItem.Krankheitszeitraum,
|
||||
MitarbeiterStatusColor = vertretungsItem.MitarbeiterStatusColor,
|
||||
KlientStatusColor = vertretungsItem.KlientStatusColor,
|
||||
WochenansichtBemerkung = vertretungsItem.WochenansichtBemerkung,
|
||||
Dringlichkeit = vertretungsItem.Dringlichkeit,
|
||||
DringlichkeitColor = vertretungsItem.DringlichkeitColor,
|
||||
Teamleitung = vertretungsItem.Teamleitung,
|
||||
Pflege = vertretungsItem.Pflege,
|
||||
Toilettengang = vertretungsItem.Toilettengang,
|
||||
Aggressiv = vertretungsItem.Aggressiv,
|
||||
Geschlecht = vertretungsItem.Geschlecht,
|
||||
MitarbeiterEinsatzBei = vertretungsItem.MitarbeiterEinsatzBei
|
||||
Absencetime = vertretungsItem.Absencetime,
|
||||
VertretungsStatus = vertretungsItem.VertretungsStatus,
|
||||
Employee = vertretungsItem.Employee,
|
||||
Customer = vertretungsItem.Customer,
|
||||
Schule = vertretungsItem.Schule,
|
||||
Arbeitszeiten = vertretungsItem.Arbeitszeiten,
|
||||
Bemerkung = vertretungsItem.Bemerkung,
|
||||
Vertretung = vertretungsItem.Vertretung,
|
||||
Datum = vertretungsItem.Datum,
|
||||
Vertreter = vertretungsItem.Vertreter,
|
||||
Krankheitsmeldung = vertretungsItem.Krankheitsmeldung,
|
||||
Krankheitszeitraum = vertretungsItem.Krankheitszeitraum,
|
||||
MitarbeiterStatusColor = vertretungsItem.MitarbeiterStatusColor,
|
||||
KlientStatusColor = vertretungsItem.KlientStatusColor,
|
||||
WochenansichtBemerkung = vertretungsItem.WochenansichtBemerkung,
|
||||
Dringlichkeit = vertretungsItem.Dringlichkeit,
|
||||
DringlichkeitColor = vertretungsItem.DringlichkeitColor,
|
||||
Teamleitung = vertretungsItem.Teamleitung,
|
||||
Pflege = vertretungsItem.Pflege,
|
||||
Toilettengang = vertretungsItem.Toilettengang,
|
||||
Aggressiv = vertretungsItem.Aggressiv,
|
||||
Geschlecht = vertretungsItem.Geschlecht,
|
||||
MitarbeiterEinsatzBei = vertretungsItem.MitarbeiterEinsatzBei,
|
||||
CustomerContactInformation = vertretungsItem.CustomerContactInformation,
|
||||
EmployeeContactInformation = vertretungsItem.EmployeeContactInformation,
|
||||
Schools = vertretungsItem.Schools,
|
||||
LastSubstitutions = vertretungsItem.LastSubstitutions,
|
||||
CustomerPflege = vertretungsItem.CustomerPflege,
|
||||
CustomerSchutzstufe = vertretungsItem.CustomerSchutzstufe,
|
||||
CustomerHygienebelehrung = vertretungsItem.CustomerHygienebelehrung,
|
||||
CustomerAggressivitaet = vertretungsItem.CustomerAggressivitaet,
|
||||
CustomerToilettengang = vertretungsItem.CustomerToilettengang,
|
||||
EmployeeAggressivitaet = vertretungsItem.EmployeeAggressivitaet,
|
||||
EmployeeToilettengang = vertretungsItem.EmployeeToilettengang,
|
||||
EmployeeSchutzstufe = vertretungsItem.EmployeeSchutzstufe,
|
||||
EmployeeHygienebelehrung = vertretungsItem.EmployeeHygienebelehrung,
|
||||
EmployeePflege = vertretungsItem.EmployeePflege
|
||||
};
|
||||
|
||||
if (vertretungsItem.Arbeitszeiten != null)
|
||||
if (vertretungsItem.Arbeitszeiten != null && vertretungsItem.Arbeitszeiten.Any())
|
||||
{
|
||||
tagesansichtVM.AssistanceTimes = vertretungsItem.Arbeitszeiten.ToList();
|
||||
}
|
||||
@@ -130,7 +144,7 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
|
||||
private void NewWindowKrankzeitraum_RaiseCustomEvent(object sender, KrankheitsEventArgs e)
|
||||
{
|
||||
UpdateKrankheitsZeitraum(e.Start, e.Ende,e.TagesItem);
|
||||
UpdateKrankheitsZeitraum(e.Start, e.Ende, e.TagesItem);
|
||||
|
||||
_krankView.Close();
|
||||
}
|
||||
@@ -147,63 +161,78 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
|
||||
public void UpdateRowData(TagesansichtVM viewModel)
|
||||
{
|
||||
if(viewModel.StartDate == null || viewModel.EndDate == null)
|
||||
try
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(viewModel?.StartDate == null || viewModel.EndDate == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var abstime = new AbsenceTimeDC
|
||||
{
|
||||
AbsenceTimeOid = viewModel.Absencetime.AbsenceTimeOid,
|
||||
Start = viewModel.StartDate,
|
||||
End = viewModel.EndDate,
|
||||
Reason = viewModel.Absencetime.Reason,
|
||||
KrankheitsMeldung = viewModel.Absencetime.KrankheitsMeldung
|
||||
};
|
||||
var absenceTime = new AbsenceTimeDC
|
||||
{
|
||||
AbsenceTimeOid = viewModel.Absencetime.AbsenceTimeOid,
|
||||
Start = viewModel.StartDate,
|
||||
End = viewModel.EndDate,
|
||||
Reason = viewModel.Absencetime.Reason,
|
||||
KrankheitsMeldung = viewModel.Absencetime.KrankheitsMeldung
|
||||
};
|
||||
|
||||
if (viewModel.Customer != null)
|
||||
{
|
||||
abstime.CustomerOid = viewModel.Customer.CustomerOid;
|
||||
}
|
||||
if (viewModel.Customer != null)
|
||||
{
|
||||
absenceTime.CustomerOid = viewModel.Customer.CustomerOid;
|
||||
}
|
||||
|
||||
if (viewModel.Employee != null)
|
||||
{
|
||||
abstime.EmployeeOid = viewModel.Employee.EmployeeOid;
|
||||
}
|
||||
if (viewModel.Employee != null)
|
||||
{
|
||||
absenceTime.EmployeeOid = viewModel.Employee.EmployeeOid;
|
||||
}
|
||||
|
||||
if (viewModel.Absencetime != null)
|
||||
{
|
||||
abstime.AbsenceTimeOid = viewModel.Absencetime.AbsenceTimeOid;
|
||||
}
|
||||
if (viewModel.Absencetime != null)
|
||||
{
|
||||
absenceTime.AbsenceTimeOid = viewModel.Absencetime.AbsenceTimeOid;
|
||||
}
|
||||
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.UpdateAbsenceTime(abstime));
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.UpdateAbsenceTime(absenceTime));
|
||||
|
||||
if (viewModel.Vertretung == null)
|
||||
{
|
||||
viewModel.Vertretung = new VertretungDC();
|
||||
}
|
||||
if (viewModel.Vertretung == null)
|
||||
{
|
||||
viewModel.Vertretung = new VertretungDC();
|
||||
}
|
||||
|
||||
viewModel.Vertretung.VertretungsZeitraumVon = viewModel.StartDate.Value;
|
||||
viewModel.Vertretung.VertretungsZeitraumBis = viewModel.EndDate.Value;
|
||||
viewModel.Vertretung.Notice = viewModel.Bemerkung;
|
||||
viewModel.Vertretung.VertretungsZeitraumVon = viewModel.StartDate.Value;
|
||||
viewModel.Vertretung.VertretungsZeitraumBis = viewModel.EndDate.Value;
|
||||
viewModel.Vertretung.Notice = viewModel.Bemerkung;
|
||||
|
||||
if (viewModel.Customer != null)
|
||||
{
|
||||
viewModel.Vertretung.CustomerOid = viewModel.Customer.CustomerOid;
|
||||
}
|
||||
if (viewModel.Customer != null)
|
||||
{
|
||||
viewModel.Vertretung.CustomerOid = viewModel.Customer.CustomerOid;
|
||||
}
|
||||
|
||||
if (viewModel.Employee != null)
|
||||
{
|
||||
viewModel.Vertretung.EmployeeOid = viewModel.Employee.EmployeeOid;
|
||||
}
|
||||
if (viewModel.Employee != null)
|
||||
{
|
||||
viewModel.Vertretung.EmployeeOid = viewModel.Employee.EmployeeOid;
|
||||
}
|
||||
|
||||
if (viewModel.Vertretung.VertretungOid.HasValue)
|
||||
{
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(viewModel.Vertretung));
|
||||
if (viewModel.Vertretung.VertretungOid.HasValue)
|
||||
{
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.UpdateVertretung(viewModel.Vertretung));
|
||||
}
|
||||
else
|
||||
{
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(viewModel.Vertretung));
|
||||
}
|
||||
}
|
||||
else
|
||||
catch(Exception ex)
|
||||
{
|
||||
ServiceFacade.DoOperationsServiceSync(s => s.CreateVertretung(viewModel.Vertretung));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateRows(List<TagesansichtVM> viewModels)
|
||||
{
|
||||
foreach(var viewModel in viewModels)
|
||||
{
|
||||
UpdateRowData(viewModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,56 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BeWo.SchulbegleitenderDienst.ViewModel;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.SchulbegleitenderDienst
|
||||
{
|
||||
public class TagesansichtVM
|
||||
public class TagesansichtVM : VertretungsansichtBaseVM
|
||||
{
|
||||
public DateTime Datum { get; set; }
|
||||
|
||||
public IList<ArbeitszeitEintragDC> Arbeitszeiten { get; set; }
|
||||
|
||||
public CompactEmployeeDC Employee { get; set; }
|
||||
|
||||
public CompactCustomerDC Customer { get; set; }
|
||||
|
||||
public CompactOrganisationDC Schule { get; set; }
|
||||
|
||||
public CompactEmployeeDC Vertreter { get; set; }
|
||||
|
||||
public VertretungsStatus VertretungsStatus { get; set; }
|
||||
|
||||
public string EmployeeName => Employee?.ToString();
|
||||
|
||||
public string CustomerName => Customer?.ToString();
|
||||
|
||||
public string WochenansichtBemerkung { get; set; }
|
||||
|
||||
public string Bemerkung { get; set; }
|
||||
|
||||
public string MitarbeiterStatusColor { get; set; }
|
||||
|
||||
public string KlientStatusColor { get; set; }
|
||||
|
||||
public string Krankheitszeitraum { get; set; }
|
||||
|
||||
public string Dringlichkeit { get; set; }
|
||||
|
||||
public string DringlichkeitColor { get; set; }
|
||||
|
||||
public string Teamleitung { get; set; }
|
||||
|
||||
public string Geschlecht { get; set; }
|
||||
|
||||
public string Pflege { get; set; }
|
||||
|
||||
public string Toilettengang { get; set; }
|
||||
|
||||
public string Aggressiv { get; set; }
|
||||
|
||||
public string MitarbeiterEinsatzBei { get; set; }
|
||||
|
||||
public DateTime Krankheitsmeldung { get; set; }
|
||||
@@ -136,13 +113,27 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
}
|
||||
}
|
||||
|
||||
public List<ArbeitszeitEintragDC> AssistanceTimes { get; set; }
|
||||
private List<ArbeitszeitEintragDC> _AssistanceTimes;
|
||||
|
||||
public List<ArbeitszeitEintragDC> AssistanceTimes
|
||||
{
|
||||
get => _AssistanceTimes;
|
||||
|
||||
set
|
||||
{
|
||||
if(_AssistanceTimes != value)
|
||||
{
|
||||
_AssistanceTimes = value;
|
||||
FirePropertyChanged(nameof(AssistanceTimes));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ArbeitszeitEintragDC FirstAssistanceTimeEntry
|
||||
{
|
||||
get
|
||||
{
|
||||
if(AssistanceTimes != null && AssistanceTimes.Any())
|
||||
if (AssistanceTimes != null && AssistanceTimes.Any())
|
||||
{
|
||||
return AssistanceTimes[0];
|
||||
}
|
||||
@@ -150,5 +141,129 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public new string SchulbegleitenderDienstString
|
||||
{
|
||||
get
|
||||
{
|
||||
var result = string.Empty;
|
||||
|
||||
if(Absencetime != null)
|
||||
{
|
||||
if(VertretungsStatus == VertretungsStatus.KlientKrank || Vertretung?.VertretenderMitarbeiterOid != null || Customer.SubstitutionStartingDayCount > 0)
|
||||
{
|
||||
if(CustomerPflege?.Equals("Ja") ?? false)
|
||||
{
|
||||
result += "Benötigt Pflege";
|
||||
}
|
||||
|
||||
if (CustomerToilettengang?.Equals("Ja") ?? false)
|
||||
{
|
||||
if(result.Length > 0)
|
||||
{
|
||||
result += ", ";
|
||||
}
|
||||
|
||||
result += "Toilettengang";
|
||||
}
|
||||
|
||||
if (CustomerAggressivitaet?.Equals("Ja") ?? false)
|
||||
{
|
||||
if (result.Length > 0)
|
||||
{
|
||||
result += ", ";
|
||||
}
|
||||
|
||||
result += "Aggressivität";
|
||||
}
|
||||
|
||||
if (CustomerHygienebelehrung?.Equals("Ja") ?? false)
|
||||
{
|
||||
if (result.Length > 0)
|
||||
{
|
||||
result += ", ";
|
||||
}
|
||||
|
||||
result += "Hygienebelehrung";
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(CustomerSchutzstufe) == false)
|
||||
{
|
||||
if (result.Length > 0)
|
||||
{
|
||||
result += ", ";
|
||||
}
|
||||
|
||||
result += $"Schutzstufe {CustomerSchutzstufe}";
|
||||
}
|
||||
|
||||
// Vertretung gewünscht [ab x. Tag]
|
||||
if (Customer.IsSubstitutionWanted)
|
||||
{
|
||||
if(result.Length > 0)
|
||||
{
|
||||
result += "\n";
|
||||
}
|
||||
|
||||
result += "Vertretung gewünscht";
|
||||
|
||||
if(Customer.SubstitutionStartingDayCount > 0)
|
||||
{
|
||||
result += $" ab {Customer.SubstitutionStartingDayCount}. Tag";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (EmployeePflege?.Equals("Ja") ?? false)
|
||||
{
|
||||
result += "Benötigt Pflege";
|
||||
}
|
||||
|
||||
if (EmployeeToilettengang?.Equals("Ja") ?? false)
|
||||
{
|
||||
if (result.Length > 0)
|
||||
{
|
||||
result += ", ";
|
||||
}
|
||||
|
||||
result += "Toilettengang";
|
||||
}
|
||||
|
||||
if (EmployeeAggressivitaet?.Equals("Ja") ?? false)
|
||||
{
|
||||
if (result.Length > 0)
|
||||
{
|
||||
result += ", ";
|
||||
}
|
||||
|
||||
result += "Aggressivität";
|
||||
}
|
||||
|
||||
if (EmployeeHygienebelehrung?.Equals("Ja") ?? false)
|
||||
{
|
||||
if (result.Length > 0)
|
||||
{
|
||||
result += ", ";
|
||||
}
|
||||
|
||||
result += "Hygienebelehrung";
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(EmployeeSchutzstufe) == false)
|
||||
{
|
||||
if (result.Length > 0)
|
||||
{
|
||||
result += ", ";
|
||||
}
|
||||
|
||||
result += $"Schutzstufe {EmployeeSchutzstufe}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,11 +10,42 @@
|
||||
xmlns:search="clr-namespace:BeWo.View.Search"
|
||||
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
||||
xmlns:localConv="clr-namespace:BeWo.SchulbegleitenderDienst.Converter"
|
||||
xmlns:converter="clr-namespace:BeWo.Converter"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:dxp="http://schemas.devexpress.com/winfx/2008/xaml/printing"
|
||||
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
|
||||
xmlns:dxpbars="http://schemas.devexpress.com/winfx/2008/xaml/printing/bars"
|
||||
Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Focusable="True" x:Name="View">
|
||||
<localView:BeWoView.Resources>
|
||||
<ResourceDictionary>
|
||||
<localConv:SubstitutionBrushConverter x:Key="SubstitutionBrushConverter" />
|
||||
</ResourceDictionary>
|
||||
<Style TargetType="dxg:RowControl" xmlns:sys="clr-namespace:System;assembly=mscorlib">
|
||||
<Setter Property="ToolTipService.ShowDuration" Value="{x:Static sys:Int32.MaxValue}" />
|
||||
</Style>
|
||||
<localConv:SubstitutionBrushConverter x:Key="SubstitutionBrushConverter" />
|
||||
<converter:StringLengthVisibilityConverter x:Key="StringLengthVisibilityConverter" />
|
||||
|
||||
<DataTemplate x:Key="WeekViewEmployeeCellTemplate">
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold" Text="{Binding Path=Employee}" />
|
||||
<TextBlock FontWeight="Bold" Text="Dönermann" />
|
||||
|
||||
<Separator Visibility="{Binding Path=SchoolString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schule:" Visibility="{Binding Path=SchoolString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding SchoolString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<Separator Visibility="{Binding EmployeeContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Kontakt:" Visibility="{Binding Path=EmployeeContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding EmployeeContactInformationString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=LastSubstitutionsString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Letzte Vertretungen" Visibility="{Binding Path=LastSubstitutionsString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding LastSubstitutionsString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<!-- TODO: Was kommt hier in den Text? -->
|
||||
<Separator Visibility="{Binding Path=SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schulbegleitender Dienst:" Visibility="{Binding Path=SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding SchulbegleitenderDienstString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</localView:BeWoView.Resources>
|
||||
<Grid Width="Auto" Height="Auto">
|
||||
<uc:ShadowChrome>
|
||||
@@ -230,7 +261,7 @@
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<GroupBox Header="{markup:Translate Abwesenheiten Mitarbeiter}" Style="{StaticResource ObjectEditGroupBox}" >
|
||||
<dxg:GridControl x:Name="GridDataControlTagesansichtMitarbeiter" Visibility="Visible" Margin="5" VerticalContentAlignment="Stretch">
|
||||
<dxg:GridControl x:Name="GridDataControlTagesansichtMitarbeiter" Visibility="Visible" Margin="5" VerticalContentAlignment="Stretch" ItemsSource="{Binding Path=AbsentEmployeesDayViewList, UpdateSourceTrigger=PropertyChanged}">
|
||||
<dxg:GridControl.Columns >
|
||||
<dxg:GridColumn FieldName="EmployeeName" ReadOnly="True" Header="Mitarbeiter/in" SortOrder="Ascending">
|
||||
<dxg:GridColumn.CellStyle>
|
||||
@@ -284,14 +315,14 @@
|
||||
</ControlTemplate>
|
||||
</dxg:GridColumn.DisplayTemplate>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Dringlichkeit" Header="Dringlichkeit">
|
||||
<dxg:GridColumn FieldName="Dringlichkeit" Header="Dringlichkeit" ReadOnly="True">
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}">
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.DringlichkeitColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
</Style>
|
||||
</dxg:GridColumn.CellStyle>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Bemerkung" Header="Bemerkung">
|
||||
<dxg:GridColumn FieldName="Bemerkung" Header="Bemerkung" ReadOnly="False">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:TextEditSettings TextWrapping="Wrap" AcceptsReturn="True" />
|
||||
</dxg:GridColumn.EditSettings>
|
||||
@@ -315,12 +346,14 @@
|
||||
</dxg:GridColumn.CellStyle>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="FirstAssistanceTimeEntry" Header="Betreuungszeiten" ReadOnly="True">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:ComboBoxEditSettings ItemsSource="{Binding AssistanceTimes}" />
|
||||
</dxg:GridColumn.EditSettings>
|
||||
<dxg:GridColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<dxe:ComboBoxEdit ItemsSource="{Binding RowData.Row.AssistanceTimes}" Name="PART_Editor" />
|
||||
</DataTemplate>
|
||||
</dxg:GridColumn.CellTemplate>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Teamleitung" Header="Teamleitung" ReadOnly="True" />
|
||||
<dxg:GridColumn FieldName="Absencetime.KrankheitsMeldung" Header="Meldung vom" />
|
||||
<dxg:GridColumn FieldName="Absencetime.KrankheitsMeldung" Header="Meldung vom" ReadOnly="True" />
|
||||
<dxg:GridColumn FieldName="Krankheitszeitraum" ReadOnly="True" Header="Abwesenheit von - bis">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:ComboBoxEditSettings DefaultButtonClick="KrankmeldungsZeitraumBearbeitungsView"/>
|
||||
@@ -333,13 +366,49 @@
|
||||
</dxg:GridColumn>
|
||||
</dxg:GridControl.Columns>
|
||||
<dxg:GridControl.View>
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" BestFitMode="AllRows" AllowBestFit="True" ShowGridMenu="GridDataControlTagesansichtMitarbeiter_OnShowGridMenu" CellValueChanged="GridViewBase_OnRowUpdated" ShowGroupPanel="False" />
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" BestFitMode="AllRows" AllowBestFit="True" ShowGridMenu="GridDataControlTagesansichtMitarbeiter_OnShowGridMenu" CellValueChanged="AbsentEmployeesDayViewGridControl_OnCellValueChanged" ShowGroupPanel="False">
|
||||
<dxg:TableView.RowStyle>
|
||||
<Style TargetType="dxg:RowControl">
|
||||
<Setter Property="ToolTipService.ShowDuration" Value="{x:Static sys:Int32.MaxValue}" />
|
||||
<Setter Property="ToolTipService.ToolTip">
|
||||
<Setter.Value>
|
||||
<ContentControl Content="{Binding}">
|
||||
<ContentControl.ContentTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold" Text="{Binding Path=Row.Employee}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.SchoolString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schule:" Visibility="{Binding Path=Row.SchoolString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.SchoolString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<Separator Visibility="{Binding Row.EmployeeContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Kontakt:" Visibility="{Binding Path=Row.EmployeeContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.EmployeeContactInformationString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.LastSubstitutionsString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Letzte Vertretungen" Visibility="{Binding Path=Row.LastSubstitutionsString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.LastSubstitutionsString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<!-- TODO: Was kommt hier in den Text? -->
|
||||
<Separator Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schulbegleitender Dienst:" Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.SchulbegleitenderDienstString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ContentControl.ContentTemplate>
|
||||
</ContentControl>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</dxg:TableView.RowStyle>
|
||||
</dxg:TableView>
|
||||
</dxg:GridControl.View>
|
||||
</dxg:GridControl>
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox Grid.Row="1" Header="{markup:Translate Abwesenheiten Klienten}" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
|
||||
<dxg:GridControl x:Name="GridDataControlTagesansichtKlient" Visibility="Visible" Margin="5" VerticalContentAlignment="Stretch">
|
||||
<dxg:GridControl x:Name="GridDataControlTagesansichtKlient" Visibility="Visible" Margin="5" VerticalContentAlignment="Stretch" ItemsSource="{Binding Path=AbsentCustomersDayViewList, UpdateSourceTrigger=PropertyChanged}">
|
||||
<dxg:GridControl.Columns>
|
||||
<dxg:GridColumn FieldName="EmployeeName" ReadOnly="True" Header="Mitarbeiter/in" SortOrder="Ascending">
|
||||
<dxg:GridColumn.CellStyle>
|
||||
@@ -357,7 +426,13 @@
|
||||
</DataTemplate>
|
||||
</dxg:GridColumn.CellTemplate>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="" ReadOnly="True" />
|
||||
<dxg:GridColumn FieldName="FirstAssistanceTimeEntry" Header="Betreuungszeiten" ReadOnly="False">
|
||||
<dxg:GridColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<dxe:ComboBoxEdit ItemsSource="{Binding RowData.Row.AssistanceTimes}" Name="PART_Editor" />
|
||||
</DataTemplate>
|
||||
</dxg:GridColumn.CellTemplate>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="CustomerName" Header="Klient/in" ReadOnly="True">
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}">
|
||||
@@ -398,28 +473,59 @@
|
||||
</dxg:GridColumn.EditSettings>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Teamleitung" Header="Teamleitung" ReadOnly="True" />
|
||||
<dxg:GridColumn FieldName="Absencetime.KrankheitsMeldung" Header="Meldung vom"/>
|
||||
<dxg:GridColumn FieldName="Absencetime.KrankheitsMeldung" Header="Meldung vom" ReadOnly="True" />
|
||||
<dxg:GridColumn FieldName="Krankheitszeitraum" ReadOnly="True" Header="Abwesenheit von - bis">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:ComboBoxEditSettings DefaultButtonClick="KrankmeldungsZeitraumBearbeitungsView"/>
|
||||
</dxg:GridColumn.EditSettings>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Vertretungszeitraum" Header="Vertretung von - bis" />
|
||||
<dxg:GridColumn FieldName="Vertretungszeitraum" Header="Vertretung von - bis" ReadOnly="True" />
|
||||
<dxg:GridColumn FieldName="Absencetime.Reason.Description" Header="Abwesenheitskategorie">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:ComboBoxEditSettings x:Name="AbwesenheitsKategorieKlientComboBox"/>
|
||||
</dxg:GridColumn.EditSettings>
|
||||
</dxg:GridColumn>
|
||||
|
||||
</dxg:GridControl.Columns>
|
||||
<dxg:GridControl.View>
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="False" AllowBestFit="True" CellValueChanged="GridViewBase_OnRowUpdated" ShowGroupPanel="False" ShowGridMenu="GridDataControlTagesansichtKlient_OnShowGridMenu" />
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="False" AllowBestFit="True" CellValueChanged="AbsentCustomersDayViewGridControl_OnCellValueChanged" ShowGroupPanel="False" ShowGridMenu="GridDataControlTagesansichtKlient_OnShowGridMenu">
|
||||
<dxg:TableView.RowStyle>
|
||||
<Style TargetType="dxg:RowControl">
|
||||
<Setter Property="ToolTipService.ShowDuration" Value="{x:Static sys:Int32.MaxValue}" />
|
||||
<Setter Property="ToolTipService.ToolTip">
|
||||
<Setter.Value>
|
||||
<ContentControl Content="{Binding}">
|
||||
<ContentControl.ContentTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold" Text="{Binding Path=Row.Customer}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.Customer.AddressString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Wohnort:" Visibility="{Binding Path=Row.Customer.AddressString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.Customer.AddressString}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.CustomerContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Kontakt:" Visibility="{Binding Path=Row.CustomerContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.CustomerContactInformationString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<!-- TODO: Was wird hier angezeigt? -->
|
||||
<Separator Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schulbegleitender Dienst:" Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.SchulbegleitenderDienstString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ContentControl.ContentTemplate>
|
||||
</ContentControl>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</dxg:TableView.RowStyle>
|
||||
</dxg:TableView>
|
||||
</dxg:GridControl.View>
|
||||
</dxg:GridControl>
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox Grid.Row="2" Header="{markup:Translate Kein Vertretungsbedarf}" Style="{StaticResource ObjectEditGroupBox}">
|
||||
<dxg:GridControl x:Name="SubstitutionUnwantedDayViewGridControl" AllowDrop="True" Margin="5" BorderBrush="Black" VerticalContentAlignment="Stretch">
|
||||
<dxg:GridControl x:Name="SubstitutionUnwantedDayViewGridControl" AllowDrop="True" Margin="5" BorderBrush="Black" VerticalContentAlignment="Stretch" ItemsSource="{Binding Path=SubstitutionUnwantedDayViewList, UpdateSourceTrigger=PropertyChanged}">
|
||||
<dxg:GridControl.Columns>
|
||||
<dxg:GridColumn FieldName="EmployeeName" ReadOnly="True" Header="Mitarbeiter/in abwesend" SortOrder="Ascending">
|
||||
<dxg:GridColumn.CellStyle>
|
||||
@@ -480,7 +586,7 @@
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Teamleitung" Header="Teamleitung" ReadOnly="True" />
|
||||
<dxg:GridColumn FieldName="Vertretungszeitraum" Header="Vertretung von - bis" ReadOnly="True" />
|
||||
<dxg:GridColumn FieldName="Absencetime.KrankheitsMeldung" Header="Meldung vom"/>
|
||||
<dxg:GridColumn FieldName="Absencetime.KrankheitsMeldung" Header="Meldung vom" ReadOnly="True"/>
|
||||
<dxg:GridColumn FieldName="Krankheitszeitraum" ReadOnly="True" Header="Abwesenheit von - bis">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:ComboBoxEditSettings DefaultButtonClick="KrankmeldungsZeitraumBearbeitungsView"/>
|
||||
@@ -493,7 +599,38 @@
|
||||
</dxg:GridColumn>
|
||||
</dxg:GridControl.Columns>
|
||||
<dxg:GridControl.View>
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="False" AllowBestFit="True" ShowGroupPanel="False" />
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="False" AllowBestFit="True" ShowGroupPanel="False" ShowGridMenu="GridControlTagesansichtNoSubstitutionWanted_OnShowGridMenu" CellValueChanged="GridControlSubUnwanted_OnCellValueChanged">
|
||||
<dxg:TableView.RowStyle>
|
||||
<Style TargetType="dxg:RowControl">
|
||||
<Setter Property="ToolTipService.ToolTip">
|
||||
<Setter.Value>
|
||||
<ContentControl Content="{Binding}">
|
||||
<ContentControl.ContentTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold" Text="{Binding Path=Row.Customer}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.Customer.AddressString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Wohnort:" Visibility="{Binding Path=Row.Customer.AddressString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.Customer.AddressString}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.CustomerContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Kontakt:" Visibility="{Binding Path=Row.CustomerContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.CustomerContactInformationString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<!-- TODO: Was wird hier angezeigt? -->
|
||||
<Separator Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schulbegleitender Dienst:" Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.SchulbegleitenderDienstString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ContentControl.ContentTemplate>
|
||||
</ContentControl>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</dxg:TableView.RowStyle>
|
||||
</dxg:TableView>
|
||||
</dxg:GridControl.View>
|
||||
</dxg:GridControl>
|
||||
</GroupBox>
|
||||
@@ -509,9 +646,16 @@
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<GroupBox Header="{markup:Translate Abwesenheiten Mitarbeiter}" Style="{StaticResource ObjectEditGroupBox}">
|
||||
<dxg:GridControl x:Name="GridDataControlWochenansichtMitarbeiter" AllowDrop="true" Margin="5" VerticalContentAlignment="Stretch" BorderBrush="Black">
|
||||
<dxg:GridControl x:Name="GridDataControlWochenansichtMitarbeiter" AllowDrop="true" Margin="5" VerticalContentAlignment="Stretch" BorderBrush="Black" ItemsSource="{Binding AbsentEmployeesWeekViewList, UpdateSourceTrigger=PropertyChanged}">
|
||||
<dxg:GridControl.Columns>
|
||||
<dxg:GridColumn FieldName="EmployeeName" Header="Mitarbeiter/in" ReadOnly="True" SortOrder="Ascending">
|
||||
<dxg:GridColumn.CellToolTipTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold" Text="TEST" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</dxg:GridColumn.CellToolTipTemplate>
|
||||
<dxg:GridColumn.CellTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Margin="5,5,0,0">
|
||||
@@ -533,13 +677,6 @@
|
||||
</DataTemplate>
|
||||
</dxg:GridColumn.CellTemplate>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Dringlichkeit" Header="Dringlichkeit">
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.DringlichkeitColor}" />
|
||||
</Style>
|
||||
</dxg:GridColumn.CellStyle>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Geschlecht" Header="m/w" ReadOnly="True" Width="40" HorizontalHeaderContentAlignment="Center">
|
||||
<dxg:GridColumn.EditSettings>
|
||||
<dxe:TextEditSettings HorizontalContentAlignment="Center"/>
|
||||
@@ -558,50 +695,15 @@
|
||||
</Style>
|
||||
</dxg:GridColumn.CellStyle>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Pflege" Header="Pflege" ReadOnly="True">
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.Pflege}" Value="Ja">
|
||||
<Setter Property="Background" Value="Yellow" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</dxg:GridColumn.CellStyle>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Toilettengang" Header="Toilettengang" ReadOnly="True">
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.Toilettengang}" Value="Ja">
|
||||
<Setter Property="Background" Value="Yellow" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</dxg:GridColumn.CellStyle>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Aggressiv" Header="Aggressivität" ReadOnly="True" >
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.Aggressiv}" Value="Ja">
|
||||
<Setter Property="Background" Value="Yellow" />
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</dxg:GridColumn.CellStyle>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="Teamleitung" Header="Teamleitung" ReadOnly="True" />
|
||||
<dxg:GridColumn FieldName="ItemMo.Vertreter" Header="Montag" Width="100" ReadOnly="True" AllowEditing="False">
|
||||
<dxg:GridColumn FieldName="Bemerkung" />
|
||||
<dxg:GridColumn FieldName="ItemMo.Vertreter" Header="Montag" Width="100" ReadOnly="True" AllowEditing="False" CellToolTipTemplate="{StaticResource WeekViewEmployeeCellTemplate}">
|
||||
<dxg:GridColumn.DisplayTemplate>
|
||||
<ControlTemplate>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
<ColumnDefinition Width="Auto" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Margin="5,5,0,0">
|
||||
<Hyperlink TargetName="inexistent" NavigateUri="http://www.bewoplaner.de" RequestNavigate="Hyperlink_OnRequestVertreterNavigate" Tag="{Binding RowData.Row.ItemMo}" Foreground="Black">
|
||||
@@ -617,7 +719,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMo.DringlichkeitColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMo.DringlichkeitColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemMo}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -648,7 +750,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDi.DringlichkeitColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDi.DringlichkeitColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemDi}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -656,8 +758,34 @@
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</dxg:GridColumn.CellStyle>
|
||||
<dxg:GridColumn.CellToolTipTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold" Text="{Binding Path=Employee}" />
|
||||
<TextBlock FontWeight="Bold" Text="TEST" />
|
||||
|
||||
<Separator Visibility="{Binding Path=SchoolString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schule:" Visibility="{Binding Path=SchoolString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding SchoolString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<Separator Visibility="{Binding EmployeeContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Kontakt:" Visibility="{Binding Path=EmployeeContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding EmployeeContactInformationString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=LastSubstitutionsString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Letzte Vertretungen" Visibility="{Binding Path=LastSubstitutionsString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding LastSubstitutionsString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<!-- TODO: Was kommt hier in den Text? -->
|
||||
<!-- Wie beim Klientenreiter -->
|
||||
<Separator Visibility="{Binding Path=SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schulbegleitender Dienst:" Visibility="{Binding Path=SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding SchulbegleitenderDienstString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</dxg:GridColumn.CellToolTipTemplate>
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="ItemMi.Vertreter" Header="Mittwoch" ReadOnly="True" AllowEditing="False">
|
||||
<dxg:GridColumn FieldName="ItemMi.Vertreter" Header="Mittwoch" ReadOnly="True" AllowEditing="False" CellToolTipTemplate="{StaticResource WeekViewEmployeeCellTemplate}">
|
||||
<dxg:GridColumn.DisplayTemplate>
|
||||
<ControlTemplate>
|
||||
<Grid>
|
||||
@@ -679,7 +807,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMi.DringlichkeitColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMi.DringlichkeitColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemMi}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -710,7 +838,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDo.DringlichkeitColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDo.DringlichkeitColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemDo}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -741,7 +869,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemFr.DringlichkeitColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemFr.DringlichkeitColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemFr}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -772,7 +900,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemSa.DringlichkeitColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemSa.DringlichkeitColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemSa}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -783,13 +911,49 @@
|
||||
</dxg:GridColumn>
|
||||
</dxg:GridControl.Columns>
|
||||
<dxg:GridControl.View>
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="False" ShowGridMenu="GridDataControlWochenansichtMitarbeiter_OnShowGridMenu" AllowBestFit="True" ShowGroupPanel="False" />
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" AllowBestFit="True" ShowGroupPanel="False" CellValueChanged="AbsentEmployeesWeekViewDataGrid_OnCellValueChanged">
|
||||
<!--<dxg:TableView.RowStyle>
|
||||
<Style TargetType="dxg:RowControl">
|
||||
<Setter Property="ToolTipService.ShowDuration" Value="{x:Static sys:Int32.MaxValue}" />
|
||||
<Setter Property="ToolTipService.ToolTip">
|
||||
<Setter.Value>
|
||||
<ContentControl Content="{Binding}">
|
||||
<ContentControl.ContentTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold" Text="{Binding Path=Row.Employee}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.SchoolString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schule:" Visibility="{Binding Path=Row.SchoolString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.SchoolString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<Separator Visibility="{Binding Row.EmployeeContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Kontakt:" Visibility="{Binding Path=Row.EmployeeContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.EmployeeContactInformationString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.LastSubstitutionsString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Letzte Vertretungen" Visibility="{Binding Path=Row.LastSubstitutionsString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.LastSubstitutionsString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
--><!-- TODO: Was kommt hier in den Text? --><!--
|
||||
<Separator Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schulbegleitender Dienst:" Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.SchulbegleitenderDienstString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ContentControl.ContentTemplate>
|
||||
</ContentControl>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</dxg:TableView.RowStyle>-->
|
||||
</dxg:TableView>
|
||||
</dxg:GridControl.View>
|
||||
</dxg:GridControl>
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox Grid.Row="1" Header="{markup:Translate Abwesenheiten Klienten}" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
|
||||
<dxg:GridControl x:Name="GridDataControlWochenansichtKlient" AllowDrop="true" Margin="5" VerticalContentAlignment="Stretch" BorderBrush="Black">
|
||||
<dxg:GridControl x:Name="GridDataControlWochenansichtKlient" AllowDrop="true" Margin="5" VerticalContentAlignment="Stretch" BorderBrush="Black" ItemsSource="{Binding AbsentCustomersWeekViewList, UpdateSourceTrigger=PropertyChanged}">
|
||||
<dxg:GridControl.Columns >
|
||||
<dxg:GridColumn FieldName="EmployeeName" Header="Mitarbeiter/in" ReadOnly="True" SortOrder="Ascending">
|
||||
<dxg:GridColumn.CellTemplate>
|
||||
@@ -872,7 +1036,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMo.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMo.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemMo}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -885,7 +1049,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDi.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDi.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemDi}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -898,7 +1062,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMi.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMi.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemMi}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -911,7 +1075,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDo.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDo.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemDo}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -924,7 +1088,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemFr.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemFr.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemFr}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -937,7 +1101,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemSa.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemSa.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemSa}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -948,13 +1112,44 @@
|
||||
</dxg:GridColumn>
|
||||
</dxg:GridControl.Columns>
|
||||
<dxg:GridControl.View>
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="False" ShowGridMenu="GridDataControlWochenansichtKlient_OnShowGridMenu" AllowBestFit="True" ShowGroupPanel="False" />
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="False" AllowBestFit="True" ShowGroupPanel="False">
|
||||
<dxg:TableView.RowStyle>
|
||||
<Style TargetType="dxg:RowControl">
|
||||
<Setter Property="ToolTipService.ToolTip">
|
||||
<Setter.Value>
|
||||
<ContentControl Content="{Binding}">
|
||||
<ContentControl.ContentTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold" Text="{Binding Path=Row.Customer}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.Customer.AddressString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Wohnort:" Visibility="{Binding Path=Row.Customer.AddressString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.Customer.AddressString}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.CustomerContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Kontakt:" Visibility="{Binding Path=Row.CustomerContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.CustomerContactInformationString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<!-- TODO: Was wird hier angezeigt? -->
|
||||
<Separator Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schulbegleitender Dienst:" Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.SchulbegleitenderDienstString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ContentControl.ContentTemplate>
|
||||
</ContentControl>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</dxg:TableView.RowStyle>
|
||||
</dxg:TableView>
|
||||
</dxg:GridControl.View>
|
||||
</dxg:GridControl>
|
||||
</GroupBox>
|
||||
|
||||
<GroupBox Grid.Row="2" Header="{markup:Translate Kein Vertretungsbedarf}" Style="{StaticResource ObjectEditGroupBox}" Margin="0,10,0,0">
|
||||
<dxg:GridControl AllowDrop="True" Margin="5" VerticalContentAlignment="Stretch" BorderBrush="Black" x:Name="SubstitutionUnwantedWeekViewGridControl">
|
||||
<dxg:GridControl AllowDrop="True" Margin="5" VerticalContentAlignment="Stretch" BorderBrush="Black" x:Name="SubstitutionUnwantedWeekViewGridControl" ItemsSource="{Binding SubstitutionUnwantedWeekViewList, UpdateSourceTrigger=PropertyChanged}">
|
||||
<dxg:GridControl.Columns>
|
||||
<dxg:GridColumn FieldName="EmployeeName" Header="Mitarbeiter/in abwesend" ReadOnly="True" SortOrder="Ascending">
|
||||
<dxg:GridColumn.CellTemplate>
|
||||
@@ -986,7 +1181,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMo.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMo.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemMo}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -999,7 +1194,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDi.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDi.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemDi}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -1012,7 +1207,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMi.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemMi.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemMi}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -1025,7 +1220,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDo.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemDo.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemDo}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -1038,7 +1233,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemFr.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemFr.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemFr}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -1051,7 +1246,7 @@
|
||||
<dxg:GridColumn.CellStyle>
|
||||
<Style TargetType="{x:Type dxg:LightweightCellEditor}" >
|
||||
<Setter Property="BorderBrush" Value="#D2D2D2" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemSa.MitarbeiterStatusColor}" />
|
||||
<Setter Property="Background" Value="{Binding RowData.Row.ItemSa.MitarbeiterStatusColor, Converter={StaticResource SubstitutionBrushConverter}}" />
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding RowData.Row.ItemSa}" Value="{x:Null}">
|
||||
<Setter Property="Background" Value="#A0D2D2D2" />
|
||||
@@ -1062,7 +1257,38 @@
|
||||
</dxg:GridColumn>
|
||||
</dxg:GridControl.Columns>
|
||||
<dxg:GridControl.View>
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" AllowBestFit="True" ShowGroupPanel="False" />
|
||||
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" AllowBestFit="True" ShowGroupPanel="False">
|
||||
<dxg:TableView.RowStyle>
|
||||
<Style TargetType="dxg:RowControl">
|
||||
<Setter Property="ToolTipService.ToolTip">
|
||||
<Setter.Value>
|
||||
<ContentControl Content="{Binding}">
|
||||
<ContentControl.ContentTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel>
|
||||
<TextBlock FontWeight="Bold" Text="{Binding Path=Row.Customer}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.Customer.AddressString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Wohnort:" Visibility="{Binding Path=Row.Customer.AddressString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.Customer.AddressString}" />
|
||||
|
||||
<Separator Visibility="{Binding Path=Row.CustomerContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Kontakt:" Visibility="{Binding Path=Row.CustomerContactInformationString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.CustomerContactInformationString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
|
||||
<!-- TODO: Was wird hier angezeigt? -->
|
||||
<Separator Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock FontWeight="Bold" Text="Schulbegleitender Dienst:" Visibility="{Binding Path=Row.SchulbegleitenderDienstString, Converter={StaticResource StringLengthVisibilityConverter}}" />
|
||||
<TextBlock Text="{Binding Row.SchulbegleitenderDienstString}" Visibility="{Binding Path=Text, Converter={StaticResource StringLengthVisibilityConverter}, RelativeSource={RelativeSource Self}}" />
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ContentControl.ContentTemplate>
|
||||
</ContentControl>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
</dxg:TableView.RowStyle>
|
||||
</dxg:TableView>
|
||||
</dxg:GridControl.View>
|
||||
</dxg:GridControl>
|
||||
</GroupBox>
|
||||
@@ -1076,6 +1302,31 @@
|
||||
<Popup Grid.Row="0" Margin="10" x:Name="popup_KlientVertretung" StaysOpen="False" Placement="MousePoint" Width="370" Height="250" Closed="popup_Closed" Opened="popup_Opened">
|
||||
<search:CustomerSearchView x:Name="KlientVertretungsearchview" />
|
||||
</Popup>
|
||||
|
||||
<Popup Grid.Row="0" Margin="10" x:Name="Popup_CharacteristicsPreview" StaysOpen="True" Placement="Center" Opened="popup_Opened" Width="800" Height="600">
|
||||
<dxp:DocumentPreviewControl x:Name="DocumentPreviewControl" CommandBarStyle="Bars">
|
||||
<dxp:DocumentPreviewControl.CommandProvider>
|
||||
<dxp:DocumentCommandProvider>
|
||||
<dxp:DocumentCommandProvider.Actions>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportCsv}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportMht}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.ExportTxt}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Open}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.DocumentMap}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Watermark}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Scale}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.PrintDirect}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.PageSetup}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Save}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Send}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Parameters}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.Thumbnails}"/>
|
||||
<dxb:RemoveAction ElementName="{x:Static dxpbars:DefaultPreviewBarItemNames.EditingFields}"/>
|
||||
</dxp:DocumentCommandProvider.Actions>
|
||||
</dxp:DocumentCommandProvider>
|
||||
</dxp:DocumentPreviewControl.CommandProvider>
|
||||
</dxp:DocumentPreviewControl>
|
||||
</Popup>
|
||||
</Grid>
|
||||
|
||||
<Border Grid.Row="2" Grid.ColumnSpan="3" Height="35" Margin="0,0,0,0" VerticalAlignment="Stretch" Background="#FF000000">
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
@@ -8,7 +9,6 @@ using System.Windows.Documents;
|
||||
using System.Windows.Navigation;
|
||||
using BeWo.Core;
|
||||
using BeWo.ServiceProxy;
|
||||
using BeWo.View;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared;
|
||||
using BS.Shared.Core;
|
||||
@@ -25,43 +25,41 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
{
|
||||
public partial class VertretungsMainView2
|
||||
{
|
||||
private readonly List<TagesansichtVM> _AbwesendeMitarbeiter = new List<TagesansichtVM>();
|
||||
private readonly List<TagesansichtVM> _AbwesendeKlienten = new List<TagesansichtVM>();
|
||||
private readonly List<TagesansichtVM> _SubstitutionUnwanteDayViewList = new List<TagesansichtVM>();
|
||||
private readonly ObservableCollection<TagesansichtVM> _AbwesendeMitarbeiter = new ObservableCollection<TagesansichtVM>();
|
||||
private readonly ObservableCollection<TagesansichtVM> _AbwesendeKlienten = new ObservableCollection<TagesansichtVM>();
|
||||
private readonly ObservableCollection<TagesansichtVM> _SubstitutionUnwanteDayViewList = new ObservableCollection<TagesansichtVM>();
|
||||
|
||||
private readonly List<WochenansichtVM> _ItemsWochenMitarbeiter = new List<WochenansichtVM>();
|
||||
private readonly List<WochenansichtVM> _ItemsWochenKlienten = new List<WochenansichtVM>();
|
||||
private readonly List<WochenansichtVM> _SubstitutionUnwantedWeekViewList = new List<WochenansichtVM>();
|
||||
private readonly ObservableCollection<WochenansichtVM> _ItemsWochenMitarbeiter = new ObservableCollection<WochenansichtVM>();
|
||||
private readonly ObservableCollection<WochenansichtVM> _ItemsWochenKlienten = new ObservableCollection<WochenansichtVM>();
|
||||
private readonly ObservableCollection<WochenansichtVM> _SubstitutionUnwantedWeekViewList = new ObservableCollection<WochenansichtVM>();
|
||||
|
||||
private string _Mitarbeitervertretungswocheninfo = string.Empty;
|
||||
|
||||
private string _DeleteSubstitutionWeek = string.Empty;
|
||||
|
||||
private readonly TagesVertretung _Tagesvertretung = new TagesVertretung();
|
||||
|
||||
private readonly WochenVertretung _Wochenvertretung = new WochenVertretung();
|
||||
|
||||
private bool IsInTagesansicht => ScrollViewerTagesansicht.Visibility == Visibility.Visible;
|
||||
|
||||
public ObservableCollection<TagesansichtVM> AbsentEmployeesDayViewList => _AbwesendeMitarbeiter;
|
||||
public ObservableCollection<TagesansichtVM> AbsentCustomersDayViewList => _AbwesendeKlienten;
|
||||
public ObservableCollection<TagesansichtVM> SubstitutionUnwantedDayViewList => _SubstitutionUnwanteDayViewList;
|
||||
|
||||
public ObservableCollection<WochenansichtVM> AbsentEmployeesWeekViewList => _ItemsWochenMitarbeiter;
|
||||
public ObservableCollection<WochenansichtVM> AbsentCustomersWeekViewList => _ItemsWochenKlienten;
|
||||
public ObservableCollection<WochenansichtVM> SubstitutionUnwantedWeekViewList => _SubstitutionUnwantedWeekViewList;
|
||||
|
||||
public VertretungsMainView2()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
ScrollViewerTagesansicht.Visibility = Visibility.Visible;
|
||||
DataContext = this;
|
||||
|
||||
ScrollViewerTagesansicht.Visibility = Visibility.Visible;
|
||||
WochenansichtsContainerGrid.Visibility = Visibility.Collapsed;
|
||||
|
||||
GridDataControlTagesansichtKlient.ItemsSource = _AbwesendeKlienten;
|
||||
GridDataControlTagesansichtMitarbeiter.ItemsSource = _AbwesendeMitarbeiter;
|
||||
SubstitutionUnwantedDayViewGridControl.ItemsSource = _SubstitutionUnwanteDayViewList;
|
||||
|
||||
GridDataControlWochenansichtMitarbeiter.ItemsSource = _ItemsWochenMitarbeiter;
|
||||
GridDataControlWochenansichtKlient.ItemsSource = _ItemsWochenKlienten;
|
||||
SubstitutionUnwantedWeekViewGridControl.ItemsSource = _SubstitutionUnwantedWeekViewList;
|
||||
|
||||
SetDefaultDatePicker(DateTime.Now.Date);
|
||||
Datepicker.DateTime = DateTime.Now;
|
||||
Datelbl.Content = DateTime.Now.Date.ToString("dddd dd.MM.yyyy");
|
||||
SetAbwesenheiten();
|
||||
SetAbsenceReasons();
|
||||
|
||||
MVCheckBox.IsChecked = true;
|
||||
KVCheckBox.IsChecked = true;
|
||||
@@ -97,7 +95,19 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
}
|
||||
else
|
||||
{
|
||||
if(tagesansichtVM.Vertretung != null || tagesansichtVM.Customer?.SubstitutionStartingDayCount > 0)
|
||||
var substitutionStartingDayCountCondition = false;
|
||||
|
||||
if(tagesansichtVM.Customer != null)
|
||||
{
|
||||
var substitutionNeededDate = DateTime.Now.AddDays(-1 * tagesansichtVM.Customer.SubstitutionStartingDayCount);
|
||||
|
||||
if(tagesansichtVM.Absencetime?.Start.HasValue ?? false)
|
||||
{
|
||||
substitutionStartingDayCountCondition = substitutionNeededDate < tagesansichtVM.Absencetime.Start;
|
||||
}
|
||||
}
|
||||
|
||||
if(tagesansichtVM.Vertretung?.VertretenderMitarbeiterOid != null || substitutionStartingDayCountCondition)
|
||||
{
|
||||
_SubstitutionUnwanteDayViewList.AddIfNotIn(tagesansichtVM);
|
||||
}
|
||||
@@ -107,20 +117,11 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
GridDataControlTagesansichtMitarbeiter.RefreshData();
|
||||
GridDataControlTagesansichtMitarbeiter.RefreshUI();
|
||||
|
||||
GridDataControlTagesansichtKlient.RefreshData();
|
||||
GridDataControlTagesansichtKlient.RefreshUI();
|
||||
|
||||
SubstitutionUnwantedDayViewGridControl.RefreshData();
|
||||
SubstitutionUnwantedDayViewGridControl.RefreshUI();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private void LadeWochenansicht(DateTime startDatum, DateTime endDatum )
|
||||
private void LadeWochenansicht(DateTime startDatum, DateTime endDatum)
|
||||
{
|
||||
ServiceFacade.DoOperationsServiceAsync(s => s.GetVertretungsListeForTimeSpan(startDatum, endDatum), vertretungsItems =>
|
||||
{
|
||||
@@ -147,7 +148,7 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
|
||||
var itemsMitarbeiter = _Wochenvertretung.GetWochenAnsichtFromItems(time, items.Where(i => i.VertretungsStatus != VertretungsStatus.KlientKrank).ToList());
|
||||
var itemsKlienten = _Wochenvertretung.GetWochenAnsichtFromItems(time, items.Where(i => i.VertretungsStatus == VertretungsStatus.KlientKrank && i.Customer.IsSubstitutionWanted).ToList());
|
||||
var subsitutionUnwantedItems = _Wochenvertretung.GetWochenAnsichtFromItems(time, items.Where(i => i.VertretungsStatus == VertretungsStatus.KlientKrank && !i.Customer.IsSubstitutionWanted).ToList());
|
||||
var subsitutionUnwantedItems = _Wochenvertretung.GetWochenAnsichtFromItems(time, items.Where(i => i.VertretungsStatus == VertretungsStatus.KlientKrank && (!i.Customer.IsSubstitutionWanted || i.Vertretung?.EmployeeOid != null)).ToList());
|
||||
|
||||
foreach (var item in itemsMitarbeiter)
|
||||
{
|
||||
@@ -163,15 +164,6 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
{
|
||||
_SubstitutionUnwantedWeekViewList.AddIfNotIn(item);
|
||||
}
|
||||
|
||||
GridDataControlWochenansichtMitarbeiter.RefreshData();
|
||||
GridDataControlWochenansichtMitarbeiter.RefreshUI();
|
||||
|
||||
GridDataControlWochenansichtKlient.RefreshData();
|
||||
GridDataControlWochenansichtKlient.RefreshUI();
|
||||
|
||||
SubstitutionUnwantedWeekViewGridControl.RefreshData();
|
||||
SubstitutionUnwantedWeekViewGridControl.RefreshUI();
|
||||
}
|
||||
|
||||
private void MVDatepickerVon_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
|
||||
@@ -354,12 +346,12 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
{
|
||||
//MVDatepickerVon.DateTime = DateTime.Now;
|
||||
//MVDatepickerBis.DateTime = DateTime.Now;
|
||||
popupedit_MitarbeiterVertretungSearch.Text = "";
|
||||
popupedit_MitarbeiterVertretungSearch.Text = string.Empty;
|
||||
|
||||
ComboBoxMitarbeiterVertretung.SelectedIndex = -1;
|
||||
MitarbeiterNotice.Text = "";
|
||||
MitarbeiterNotice.Text = string.Empty;
|
||||
|
||||
// MVDatepicker_UhrzeitVon.Text = "";
|
||||
// MVDatepicker_UhrzeitVon.Text = "";
|
||||
//MVDatepicker_UhrzeitBis.Text = "";
|
||||
}
|
||||
|
||||
@@ -404,7 +396,8 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
absenceTime.Notice = MitarbeiterNotice.Text;
|
||||
absenceTime.KrankheitsMeldung = KrankMeldungMitarbeiterDatepicker.DateTime.Date;
|
||||
|
||||
ServiceFacade.DoOperationsServiceAsync(s1 => s1.CheckForOverlappingSubstitutionEntries(absenceTime.Start.Value, absenceTime.End.Value, _CurrentEmployee.EmployeeOid, absenceTime.CustomerOid), isOverlapping => {
|
||||
ServiceFacade.DoOperationsServiceAsync(s1 => s1.CheckForOverlappingAbsenceTimes(absenceTime.Start.Value, absenceTime.End.Value, _CurrentEmployee.EmployeeOid, absenceTime.CustomerOid), isOverlapping =>
|
||||
{
|
||||
this.Dispatch(() =>
|
||||
{
|
||||
if (isOverlapping)
|
||||
@@ -428,8 +421,6 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void KlientVertretungsToggleButton_OnChecked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
@@ -610,7 +601,8 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
absenceTime.Notice = KlientNotice.Text;
|
||||
absenceTime.KrankheitsMeldung = KrankMeldungKlientDatepicker.DateTime.Date;
|
||||
|
||||
ServiceFacade.DoOperationsServiceAsync(s1 => s1.CheckForOverlappingSubstitutionEntries(absenceTime.Start.Value, absenceTime.End.Value, _CurrentEmployee?.EmployeeOid, _CurrentCustomer.CustomerOid), isOverlapping => {
|
||||
ServiceFacade.DoOperationsServiceAsync(s1 => s1.CheckForOverlappingAbsenceTimes(absenceTime.Start.Value, absenceTime.End.Value, _CurrentEmployee?.EmployeeOid, _CurrentCustomer.CustomerOid), isOverlapping =>
|
||||
{
|
||||
this.Dispatch(() =>
|
||||
{
|
||||
if (isOverlapping)
|
||||
@@ -648,25 +640,10 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
{
|
||||
_Wochenvertretung.AddeNeueVertretungforWochenAnsicht((WochenansichtVM)GridDataControlWochenansichtMitarbeiter.SelectedItem, GridDataControlWochenansichtMitarbeiter.CurrentColumn.FieldName);
|
||||
|
||||
var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
|
||||
LadeWochenansicht(x, x.AddDays(5));
|
||||
var selectedDate = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
|
||||
LadeWochenansicht(selectedDate, selectedDate.AddDays(5));
|
||||
}
|
||||
|
||||
private void ButtonInfo_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
//var a = (WochenansichtVM)GridDataControlKlientenWochenansicht2.SelectedItem;
|
||||
|
||||
//if (!a.IsMitarbeiterKrank)
|
||||
//{
|
||||
// // bleibt noch offen
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// MessageBox.Show("Du kannst einem kranken Klienten keine Mitarbeiter hinzufügen.","Info");
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
private void TagesansichtSettings_OnDefaultButtonClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var button = (Button) sender;
|
||||
@@ -677,375 +654,44 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
}
|
||||
|
||||
private void GridDataControlTagesansichtMitarbeiter_OnShowGridMenu(object sender, GridMenuEventArgs e)
|
||||
{
|
||||
var a = (TagesansichtVM) GridDataControlTagesansichtMitarbeiter.SelectedItem;
|
||||
{
|
||||
var barButtonItem = new BarButtonItem {Content = "Abwesenheit löschen"};
|
||||
barButtonItem.ItemClick += DeleteMitarbeiterKrankmeldung_OnClick;
|
||||
e.Customizations.Add(barButtonItem);
|
||||
|
||||
if (e.MenuInfo.Column.FieldName.Equals("Kunde"))
|
||||
{
|
||||
var x = new BarButtonItem {Content = "Klient/in öffnen"};
|
||||
x.ItemClick += Kundeninfo_OnClick;
|
||||
e.Customizations.Add(x);
|
||||
}
|
||||
var barButtonItem2 = new BarButtonItem {Content = "Steckbrief anzeigen"};
|
||||
barButtonItem2.ItemClick += ShowCharacteristics;
|
||||
e.Customizations.Add(barButtonItem2);
|
||||
}
|
||||
|
||||
if (e.MenuInfo.Column.FieldName == "KrankerMitarbeiter")
|
||||
{
|
||||
var x = new BarButtonItem {Content = "Mitarbeiter/in öffnen"};
|
||||
x.ItemClick += Mitarbeiterinfo_OnClick;
|
||||
e.Customizations.Add(x);
|
||||
}
|
||||
private void ShowCharacteristics(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var selectedItem = GridDataControlTagesansichtMitarbeiter.SelectedItem;
|
||||
|
||||
if (e.MenuInfo.Column.FieldName == "Vertretung")
|
||||
{
|
||||
var s = new BarButtonItem {Content = "Mitarbeiter/in öffnen"};
|
||||
s.ItemClick += MitarbeiterVertretunginfo_OnClick;
|
||||
e.Customizations.Add(s);
|
||||
}
|
||||
if(selectedItem != null)
|
||||
{
|
||||
var selectedTagesansichtVM = (TagesansichtVM) selectedItem;
|
||||
|
||||
if (a.Vertretung != null)
|
||||
{
|
||||
var y = new BarButtonItem {Content = "Vertretung löschen"};
|
||||
y.ItemClick += DeletePerson_OnClick;
|
||||
e.Customizations.Add(y);
|
||||
}
|
||||
var url = $"{BeWoApp.SiteOfOrigin}/ReportView.aspx?type={ReportTypes.SBDCharacteristics}&customerOid={selectedTagesansichtVM.Customer.CustomerOid}";
|
||||
|
||||
var ys = new BarButtonItem() {Content = "Abwesenheit löschen"};
|
||||
ys.ItemClick += DeleteMitarbeiterKrankmeldung_OnClick;
|
||||
e.Customizations.Add(ys);
|
||||
}
|
||||
var tempToken = string.Empty;
|
||||
ServiceFacade.DoDownloadServiceSync(s => tempToken = s.CreateTemporaryToken(url, true));
|
||||
var addChar = (url.Contains("?")) ? "&" : "?";
|
||||
url = $"{url}{addChar}token={tempToken}";
|
||||
|
||||
url = BeWoWpfUtils.GetHTMLEncodedURL(url);
|
||||
|
||||
BeWoUtils.NavigateToReportUri(url, "Steckbrief");
|
||||
}
|
||||
}
|
||||
|
||||
private void GridDataControlTagesansichtKlient_OnShowGridMenu(object sender, GridMenuEventArgs e)
|
||||
{
|
||||
var a = (TagesansichtVM)GridDataControlTagesansichtKlient.SelectedItem;
|
||||
|
||||
if (e.MenuInfo.Column.FieldName == "Kunde")
|
||||
{
|
||||
BarButtonItem x = new BarButtonItem() { Content = "Klient/in öffnen" };
|
||||
x.ItemClick += Kundeninfo_OnClick;
|
||||
e.Customizations.Add(x);
|
||||
}
|
||||
|
||||
if (e.MenuInfo.Column.FieldName == "KrankerMitarbeiter")
|
||||
{
|
||||
BarButtonItem x = new BarButtonItem() { Content = "Mitarbeiter/in öffnen" };
|
||||
x.ItemClick += Mitarbeiterinfo_OnClick;
|
||||
e.Customizations.Add(x);
|
||||
}
|
||||
|
||||
if (e.MenuInfo.Column.FieldName == "Vertretung")
|
||||
{
|
||||
BarButtonItem s = new BarButtonItem() { Content = "Mitarbeiter/in öffnen" };
|
||||
s.ItemClick += MitarbeiterVertretunginfo_OnClick;
|
||||
e.Customizations.Add(s);
|
||||
}
|
||||
|
||||
//if (a.Vertretung != null)
|
||||
//{
|
||||
// BarButtonItem y = new BarButtonItem() { Content = "Vertretung löschen" };
|
||||
// y.ItemClick += DeletePerson_OnClick;
|
||||
// e.Customizations.Add(y);
|
||||
//}
|
||||
|
||||
BarButtonItem ys = new BarButtonItem() { Content = "Abwesenheit löschen" };
|
||||
ys.ItemClick += DeleteKlientKrankmeldung_OnClick;
|
||||
e.Customizations.Add(ys);
|
||||
var barButtonItem = new BarButtonItem {Content = "Abwesenheit löschen"};
|
||||
barButtonItem.ItemClick += DeleteKlientKrankmeldung_OnClick;
|
||||
e.Customizations.Add(barButtonItem);
|
||||
}
|
||||
|
||||
private void GridMitarbeiterEinsatz_OnShowGridMenu(object sender, GridMenuEventArgs e)
|
||||
{
|
||||
|
||||
// ########### KontextMenue Wochenanzeige #########
|
||||
//BarButtonItem ys = new BarButtonItem() { Content = "Krankmeldung Löschen" }; // villeicht reaktivieren
|
||||
//ys.ItemClick += DeleteKrankmeldung_OnClick;
|
||||
//e.Customizations.Add(ys);
|
||||
|
||||
if (e.MenuInfo.Column.FieldName == "Kunde") // FieldNames umbennenen
|
||||
{
|
||||
BarButtonItem x = new BarButtonItem() { Content = "Klient/in öffnen" };
|
||||
x.ItemClick += Kundeninfo_OnClick; // bearbeiten
|
||||
e.Customizations.Add(x);
|
||||
}
|
||||
|
||||
if (e.MenuInfo.Column.FieldName == "MaKrank")
|
||||
{
|
||||
BarButtonItem x = new BarButtonItem() { Content = "Mitarbeiter/in öffnen" };
|
||||
x.ItemClick += Mitarbeiterinfo_OnClick; // eee
|
||||
e.Customizations.Add(x);
|
||||
}
|
||||
|
||||
if (e.MenuInfo.Column.FieldName == "VertretungMo" || e.MenuInfo.Column.FieldName == "VertretungDi" ||
|
||||
e.MenuInfo.Column.FieldName == "VertretungMi" || e.MenuInfo.Column.FieldName == "VertretungDo" ||
|
||||
e.MenuInfo.Column.FieldName == "VertretungFr" || e.MenuInfo.Column.FieldName == "VertretungSa" ||
|
||||
e.MenuInfo.Column.FieldName == "VertretungSo")
|
||||
{
|
||||
BarButtonItem s = new BarButtonItem() { Content = "Mitarbeiter/in öffnen" };
|
||||
s.ItemClick += MitarbeiterVertretunginfoWochenanzeige_OnClick;
|
||||
e.Customizations.Add(s);
|
||||
_Mitarbeitervertretungswocheninfo = e.MenuInfo.Column.FieldName;
|
||||
|
||||
BarButtonItem xs = new BarButtonItem() { Content = "Vertretung löschen" };
|
||||
xs.ItemClick += DeletVertretungForWochenanzeige_OnClick;
|
||||
e.Customizations.Add(xs);
|
||||
|
||||
_DeleteSubstitutionWeek = e.MenuInfo.Column.FieldName;
|
||||
}
|
||||
}
|
||||
|
||||
private void GridDataControlWochenansichtMitarbeiter_OnShowGridMenu(object sender, GridMenuEventArgs e)
|
||||
{
|
||||
|
||||
//if (e.MenuInfo.Column.FieldName == "Kunde") // FieldNames umbennenen
|
||||
//{
|
||||
// BarButtonItem x = new BarButtonItem() { Content = "Klient/in öffnen" };
|
||||
// x.ItemClick += Kundeninfo_OnClick; // bearbeiten
|
||||
// e.Customizations.Add(x);
|
||||
//}
|
||||
|
||||
//if (e.MenuInfo.Column.FieldName == "MaKrank")
|
||||
//{
|
||||
// BarButtonItem x = new BarButtonItem() { Content = "Mitarbeiter/in öffnen" };
|
||||
// x.ItemClick += Mitarbeiterinfo_OnClick; // eee
|
||||
// e.Customizations.Add(x);
|
||||
//}
|
||||
|
||||
//if (e.MenuInfo.Column.FieldName == "VertretungMo" || e.MenuInfo.Column.FieldName == "VertretungDi" ||
|
||||
// e.MenuInfo.Column.FieldName == "VertretungMi" || e.MenuInfo.Column.FieldName == "VertretungDo" ||
|
||||
// e.MenuInfo.Column.FieldName == "VertretungFr" || e.MenuInfo.Column.FieldName == "VertretungSa" ||
|
||||
// e.MenuInfo.Column.FieldName == "VertretungSo")
|
||||
//{
|
||||
// BarButtonItem s = new BarButtonItem() { Content = "Mitarbeiter/in öffnen" };
|
||||
// s.ItemClick += MitarbeiterVertretunginfoWochenanzeige_OnClick;
|
||||
// e.Customizations.Add(s);
|
||||
// _Mitarbeitervertretungswocheninfo = e.MenuInfo.Column.FieldName;
|
||||
|
||||
// BarButtonItem xs = new BarButtonItem() { Content = "Vertretung löschen" };
|
||||
// xs.ItemClick += DeletVertretungForWochenanzeige_OnClick;
|
||||
// e.Customizations.Add(xs);
|
||||
|
||||
// _DeleteSubstitutionWeek = e.MenuInfo.Column.FieldName;
|
||||
//}
|
||||
}
|
||||
|
||||
private void GridDataControlWochenansichtKlient_OnShowGridMenu(object sender, GridMenuEventArgs e)
|
||||
{
|
||||
|
||||
//if (e.MenuInfo.Column.FieldName == "Kunde") // FieldNames umbennenen
|
||||
//{
|
||||
// BarButtonItem x = new BarButtonItem() { Content = "Klient/in öffnen" };
|
||||
// x.ItemClick += Kundeninfo_OnClick; // bearbeiten
|
||||
// e.Customizations.Add(x);
|
||||
//}
|
||||
|
||||
//if (e.MenuInfo.Column.FieldName == "MaKrank")
|
||||
//{
|
||||
// BarButtonItem x = new BarButtonItem() { Content = "Mitarbeiter/in öffnen" };
|
||||
// x.ItemClick += Mitarbeiterinfo_OnClick; // eee
|
||||
// e.Customizations.Add(x);
|
||||
//}
|
||||
|
||||
//if (e.MenuInfo.Column.FieldName == "VertretungMo" || e.MenuInfo.Column.FieldName == "VertretungDi" ||
|
||||
// e.MenuInfo.Column.FieldName == "VertretungMi" || e.MenuInfo.Column.FieldName == "VertretungDo" ||
|
||||
// e.MenuInfo.Column.FieldName == "VertretungFr" || e.MenuInfo.Column.FieldName == "VertretungSa" ||
|
||||
// e.MenuInfo.Column.FieldName == "VertretungSo")
|
||||
//{
|
||||
// BarButtonItem s = new BarButtonItem() { Content = "Mitarbeiter/in öffnen" };
|
||||
// s.ItemClick += MitarbeiterVertretunginfoWochenanzeige_OnClick;
|
||||
// e.Customizations.Add(s);
|
||||
// _Mitarbeitervertretungswocheninfo = e.MenuInfo.Column.FieldName;
|
||||
|
||||
// BarButtonItem xs = new BarButtonItem() { Content = "Vertretung löschen" };
|
||||
// xs.ItemClick += DeletVertretungForWochenanzeige_OnClick;
|
||||
// e.Customizations.Add(xs);
|
||||
|
||||
// _DeleteSubstitutionWeek = e.MenuInfo.Column.FieldName;
|
||||
//}
|
||||
}
|
||||
|
||||
private void Kundeninfo_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var vm = (TagesansichtVM)GridDataControlTagesansichtMitarbeiter.SelectedItem;
|
||||
|
||||
if (vm.Customer != null)
|
||||
{
|
||||
List<long> customerOidList = new List<long>();
|
||||
|
||||
customerOidList.Add(vm.Customer.CustomerOid);
|
||||
|
||||
var sgf = ServiceFacade.DoCustomerServiceSync(s => s.GetCompactCustomersById(customerOidList));
|
||||
var selectedCustomer = sgf[0];
|
||||
|
||||
VMFactory.CreateCustomerVMAsync(selectedCustomer.CustomerOid,
|
||||
cb => this.Dispatch(
|
||||
() =>
|
||||
BeWoUtils.OpenModalViewWindow<CustomerVM, CustomerDC, BeWoView>(cb, null, () => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
var updatedCustomer = new CompactCustomerDC();
|
||||
|
||||
ServiceFacade.DoCustomerServiceSync(s =>
|
||||
updatedCustomer = s.GetCompactCustomerDC(selectedCustomer.CustomerOid));
|
||||
|
||||
selectedCustomer = updatedCustomer;
|
||||
// UpdateControls();
|
||||
// customerText.Text = updatedCustomer.ToString();
|
||||
|
||||
BeWoUtils.UpdateAllViews(selectedCustomer);
|
||||
}))
|
||||
));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void Mitarbeiterinfo_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var a = (TagesansichtVM)GridDataControlTagesansichtMitarbeiter.SelectedItem;
|
||||
|
||||
if (a.Employee != null)
|
||||
{
|
||||
var sgf = ServiceFacade.DoEmployeeServiceSync(s =>
|
||||
s.GetActiveCompactEmployeeWithOid(a.Employee.EmployeeOid));
|
||||
var selectedEmployee = sgf;
|
||||
|
||||
VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
|
||||
cb => this.Dispatch(
|
||||
() =>
|
||||
BeWoUtils.OpenModalViewWindow<EmployeeVM, EmployeeDC, BeWoView>(cb, null,
|
||||
() => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
var updatedEmployee = new CompactEmployeeDC();
|
||||
|
||||
ServiceFacade.DoEmployeeServiceSync(
|
||||
s =>
|
||||
updatedEmployee =
|
||||
s.GetActiveCompactEmployeeWithOid(selectedEmployee
|
||||
.EmployeeOid));
|
||||
selectedEmployee = new CompactEmployeeDC();
|
||||
selectedEmployee = updatedEmployee;
|
||||
// UpdateControls();
|
||||
// customerText.Text = updatedCustomer.ToString();
|
||||
|
||||
BeWoUtils.UpdateAllViews(selectedEmployee);
|
||||
}))
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void MitarbeiterVertretunginfo_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var a = (TagesansichtVM)GridDataControlTagesansichtMitarbeiter.SelectedItem;
|
||||
|
||||
if (a.Vertretung != null)
|
||||
{
|
||||
if (!a.Vertretung.Equals(""))
|
||||
{
|
||||
long? employeeOid = null;
|
||||
|
||||
if (a.Vertretung != null)
|
||||
{
|
||||
employeeOid = a.Vertretung.VertretenderMitarbeiterOid;
|
||||
}
|
||||
|
||||
if (employeeOid.HasValue)
|
||||
{
|
||||
var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(employeeOid.Value));
|
||||
var selectedEmployee = sgf;
|
||||
|
||||
VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
|
||||
cb => this.Dispatch(
|
||||
() =>
|
||||
BeWoUtils.OpenModalViewWindow<EmployeeVM, EmployeeDC, BeWoView>(cb, null,
|
||||
() => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
var updatedEmployee = new CompactEmployeeDC();
|
||||
|
||||
ServiceFacade.DoEmployeeServiceSync(
|
||||
s =>
|
||||
updatedEmployee =
|
||||
s.GetActiveCompactEmployeeWithOid(selectedEmployee
|
||||
.EmployeeOid));
|
||||
selectedEmployee = new CompactEmployeeDC();
|
||||
selectedEmployee = updatedEmployee;
|
||||
// UpdateControls();
|
||||
// customerText.Text = updatedCustomer.ToString();
|
||||
|
||||
BeWoUtils.UpdateAllViews(selectedEmployee);
|
||||
}))
|
||||
));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
|
||||
}
|
||||
}
|
||||
|
||||
private void MitarbeiterVertretunginfoWochenanzeige_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var x = (WochenansichtVM)GridDataControlWochenansichtMitarbeiter.SelectedItem;
|
||||
|
||||
foreach (var wochentag in x.VertretungsWoche)
|
||||
{
|
||||
if (wochentag.Key.Equals(_Mitarbeitervertretungswocheninfo))
|
||||
{
|
||||
_Mitarbeitervertretungswocheninfo = string.Empty;
|
||||
foreach (var item in wochentag.Value)
|
||||
{
|
||||
if (item.Value.Vertreter != null)
|
||||
{
|
||||
var sgf = ServiceFacade.DoEmployeeServiceSync(s => s.GetActiveCompactEmployeeWithOid(item.Value.Vertreter.EmployeeOid));
|
||||
var selectedEmployee = sgf;
|
||||
|
||||
VMFactory.CreateEmployeeVMAsync(selectedEmployee.EmployeeOid,
|
||||
cb => this.Dispatch(
|
||||
() =>
|
||||
BeWoUtils.OpenModalViewWindow<EmployeeVM, EmployeeDC, BeWoView>(cb, null,
|
||||
() => this.Dispatch(
|
||||
delegate
|
||||
{
|
||||
var updatedEmployee = new CompactEmployeeDC();
|
||||
|
||||
ServiceFacade.DoEmployeeServiceSync(
|
||||
s =>
|
||||
updatedEmployee =
|
||||
s.GetActiveCompactEmployeeWithOid(selectedEmployee.EmployeeOid));
|
||||
selectedEmployee = new CompactEmployeeDC();
|
||||
selectedEmployee = updatedEmployee;
|
||||
// UpdateControls();
|
||||
// customerText.Text = updatedCustomer.ToString();
|
||||
|
||||
BeWoUtils.UpdateAllViews(selectedEmployee);
|
||||
}))
|
||||
));
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Es wurde der Vertretung kein Mitarbeiter zugeteilt");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void DeletVertretungForWochenanzeige_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (MessageBox.Show("Möchten Sie die Vertretung wirklich löschen?", "Vertretung löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
|
||||
{
|
||||
_Wochenvertretung.DeletVertretendenMitarbeiter((WochenansichtVM) GridDataControlWochenansichtMitarbeiter.SelectedItem, _DeleteSubstitutionWeek);
|
||||
|
||||
var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
|
||||
LadeWochenansicht(x,x.AddDays(5));
|
||||
}
|
||||
}
|
||||
|
||||
private void DeleteMitarbeiterKrankmeldung_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (MessageBox.Show("Möchten Sie die Abwesenheit wirklich löschen?", "Abwesenheit löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
|
||||
@@ -1066,28 +712,25 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
}
|
||||
}
|
||||
|
||||
private void DeletePerson_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (MessageBox.Show("Möchten Sie die Vertretung wirklich löschen?", "Vertretung löschen", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
|
||||
{
|
||||
_Tagesvertretung.DeleteVertretung((TagesansichtVM)GridDataControlTagesansichtMitarbeiter.SelectedItem);
|
||||
|
||||
LadeTagesansicht(Datepicker.DateTime.Date);
|
||||
}
|
||||
}
|
||||
|
||||
private void KrankmeldungsZeitraumBearbeitungsView(object sender, RoutedEventArgs e)
|
||||
{
|
||||
_Tagesvertretung.KrankMeldeZeitraumBearbeiten((TagesansichtVM)GridDataControlTagesansichtMitarbeiter.SelectedItem);
|
||||
|
||||
LadeTagesansicht(Datepicker.DateTime.Date);
|
||||
LadeTagesansicht(Datepicker.DateTime);
|
||||
}
|
||||
|
||||
private void GridViewBase_OnRowUpdated(object sender, RowEventArgs e)
|
||||
private void AbsentCustomersDayViewGridControl_OnCellValueChanged(object sender, RowEventArgs e)
|
||||
{
|
||||
_Tagesvertretung.UpdateRowData((TagesansichtVM) GridDataControlTagesansichtKlient.SelectedItem);
|
||||
|
||||
LadeTagesansicht(Datepicker.DateTime);
|
||||
}
|
||||
|
||||
private void AbsentEmployeesDayViewGridControl_OnCellValueChanged(object sender, RowEventArgs e)
|
||||
{
|
||||
_Tagesvertretung.UpdateRowData((TagesansichtVM) GridDataControlTagesansichtMitarbeiter.SelectedItem);
|
||||
|
||||
LadeTagesansicht(Datepicker.DateTime.Date);
|
||||
LadeTagesansicht(Datepicker.DateTime);
|
||||
}
|
||||
|
||||
private void ButtonWorkWeekView_Click(object sender, RoutedEventArgs e)
|
||||
@@ -1264,14 +907,18 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
}
|
||||
}
|
||||
|
||||
private void SetAbwesenheiten()
|
||||
private void SetAbsenceReasons()
|
||||
{
|
||||
var abwesenheiten = ServiceFacade.DoCustomerServiceSync(s => s.GetAllAbsenceReasons());
|
||||
ServiceFacade.DoCustomerServiceAsync(s => s.GetAllAbsenceReasons(), absenceReasons =>
|
||||
{
|
||||
this.Dispatch(() =>
|
||||
{
|
||||
ComboBoxKlientVertretung.ItemsSource = absenceReasons;
|
||||
ComboBoxMitarbeiterVertretung.ItemsSource = absenceReasons;
|
||||
|
||||
ComboBoxKlientVertretung.ItemsSource = abwesenheiten;
|
||||
ComboBoxMitarbeiterVertretung.ItemsSource = abwesenheiten;
|
||||
|
||||
AbwesenheitsKategorieComboBox.ItemsSource = abwesenheiten;
|
||||
AbwesenheitsKategorieComboBox.ItemsSource = absenceReasons;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private void SetDefaultDatePicker(DateTime dt)
|
||||
@@ -1365,9 +1012,52 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
}
|
||||
}
|
||||
|
||||
private static void ReloadAfterEdit()
|
||||
private void ReloadAfterEdit()
|
||||
{
|
||||
// TODO: Wird aufgerufen, wenn man einen Klienten oder Mitarbeiter bearbeitet hat und der EmployeeView oder CustomerView geschlossen wird. Das entsprechende Objekt muss neugeladen werden.
|
||||
if (IsInTagesansicht)
|
||||
{
|
||||
LadeTagesansicht(Datepicker.DateTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
var selectedDate = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
|
||||
LadeWochenansicht(selectedDate, selectedDate.AddDays(5));
|
||||
}
|
||||
}
|
||||
|
||||
private void GridControlTagesansichtNoSubstitutionWanted_OnShowGridMenu(object sender, GridMenuEventArgs e)
|
||||
{
|
||||
var barButtonItem = new BarButtonItem {Content = "Abwesenheit löschen", Tag = e.Source.DataControl.SelectedItem};
|
||||
barButtonItem.ItemClick += DeleteCustomerAbsenceTime_OnClick;
|
||||
|
||||
e.Customizations.Add(barButtonItem);
|
||||
}
|
||||
|
||||
private void DeleteCustomerAbsenceTime_OnClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
var barButtonItem = (BarButtonItem) sender;
|
||||
var selectedTagesansichtVM = (TagesansichtVM) barButtonItem.Tag;
|
||||
|
||||
_Tagesvertretung.DeleteKrankmeldung(selectedTagesansichtVM);
|
||||
|
||||
LadeTagesansicht(Datepicker.DateTime);
|
||||
}
|
||||
|
||||
private void GridControlSubUnwanted_OnCellValueChanged(object sender, CellValueChangedEventArgs e)
|
||||
{
|
||||
_Tagesvertretung.UpdateRowData((TagesansichtVM) SubstitutionUnwantedDayViewGridControl.SelectedItem);
|
||||
|
||||
LadeTagesansicht(Datepicker.DateTime);
|
||||
}
|
||||
|
||||
private void AbsentEmployeesWeekViewDataGrid_OnCellValueChanged(object sender, CellValueChangedEventArgs e)
|
||||
{
|
||||
var selectedWeekView = (WochenansichtVM) GridDataControlWochenansichtMitarbeiter.SelectedItem;
|
||||
|
||||
//_Tagesvertretung.UpdateRows(selectedWeekView.GetTagesansichtViewModels());
|
||||
|
||||
var x = Datepicker.DateTime.FirstDateOfWeek(Datepicker.DateTime.GetIso8601WeekOfYear());
|
||||
LadeWochenansicht(x, x.AddDays(5));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,194 @@
|
||||
using System.Collections.Generic;
|
||||
using BeWo.ViewModel;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
|
||||
namespace BeWo.SchulbegleitenderDienst.ViewModel
|
||||
{
|
||||
public class VertretungsansichtBaseVM : AbstractBaseVM
|
||||
{
|
||||
public CompactEmployeeDC Employee { get;set; }
|
||||
|
||||
public CompactCustomerDC Customer { get; set; }
|
||||
|
||||
public string EmployeeName => Employee?.ToString();
|
||||
|
||||
public string CustomerName => Customer?.ToString();
|
||||
|
||||
public string Dringlichkeit { get; set; }
|
||||
|
||||
public string DringlichkeitColor { get; set; }
|
||||
|
||||
public string Teamleitung { get; set; }
|
||||
|
||||
public string Geschlecht { get; set; }
|
||||
|
||||
public string Pflege { get; set; }
|
||||
|
||||
public string Toilettengang { get; set; }
|
||||
|
||||
public string Aggressiv { get; set; }
|
||||
|
||||
private string _Notice;
|
||||
public string Bemerkung
|
||||
{
|
||||
get => _Notice;
|
||||
set
|
||||
{
|
||||
if (!Equals(_Notice, value))
|
||||
{
|
||||
_Notice = value;
|
||||
FirePropertyChanged(nameof(Bemerkung));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public List<ContactDC> CustomerContactInformation { get; set; }
|
||||
|
||||
public string CustomerContactInformationString
|
||||
{
|
||||
get
|
||||
{
|
||||
if (CustomerContactInformation == null || CustomerContactInformation.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return GetContactInformationString(CustomerContactInformation);
|
||||
}
|
||||
}
|
||||
|
||||
public List<ContactDC> EmployeeContactInformation { get; set; }
|
||||
|
||||
public string EmployeeContactInformationString
|
||||
{
|
||||
get
|
||||
{
|
||||
if (EmployeeContactInformation == null || EmployeeContactInformation.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return GetContactInformationString(EmployeeContactInformation);
|
||||
}
|
||||
}
|
||||
|
||||
private static string GetContactInformationString(IReadOnlyCollection<ContactDC> contactList)
|
||||
{
|
||||
if (contactList == null || contactList.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var result = string.Empty;
|
||||
foreach (var item in contactList)
|
||||
{
|
||||
if (result.Length > 0)
|
||||
{
|
||||
result += "\n";
|
||||
}
|
||||
|
||||
var typeAsString = string.Empty;
|
||||
switch (item.ContactType)
|
||||
{
|
||||
case ContactType.business_Mail:
|
||||
typeAsString = "E-Mail: ";
|
||||
break;
|
||||
case ContactType.business_Fax:
|
||||
typeAsString = "Fax: ";
|
||||
break;
|
||||
case ContactType.business_Phone:
|
||||
typeAsString = "Tel.: ";
|
||||
break;
|
||||
case ContactType.business_MobilePhone:
|
||||
typeAsString = "Handynr.: ";
|
||||
break;
|
||||
}
|
||||
|
||||
result += typeAsString + item.ContactValue;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public string SchoolString
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Schools == null || Schools.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var result = string.Empty;
|
||||
|
||||
foreach (var item in Schools)
|
||||
{
|
||||
if (result.Length > 0)
|
||||
{
|
||||
result += ", ";
|
||||
}
|
||||
|
||||
result += item.Organisation.Name;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public List<VertretungDC> LastSubstitutions { get; set; }
|
||||
|
||||
public string LastSubstitutionsString
|
||||
{
|
||||
get
|
||||
{
|
||||
if (LastSubstitutions == null || LastSubstitutions.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var result = string.Empty;
|
||||
|
||||
foreach (var item in LastSubstitutions)
|
||||
{
|
||||
if (result.Length > 0)
|
||||
{
|
||||
result += "\n";
|
||||
}
|
||||
|
||||
var start = item.VertretungsZeitraumVon.Minute == 0 && item.VertretungsZeitraumVon.Hour == 0 ? item.VertretungsZeitraumVon.ToString("dd.MM.yyyy") : item.VertretungsZeitraumVon.ToString("dd.MM.yyyy HH:mm");
|
||||
var end = item.VertretungsZeitraumBis.Minute == 0 && item.VertretungsZeitraumBis.Hour == 0 ? item.VertretungsZeitraumBis.ToString("dd.MM.yyyy") : item.VertretungsZeitraumBis.ToString("dd.MM.yyyy HH:mm");
|
||||
|
||||
result += $"{start} - {end}";
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public string SchulbegleitenderDienstString;
|
||||
|
||||
public List<CustomerOrganisationRelationDC> Schools { get; set; }
|
||||
|
||||
public string CustomerPflege { get; set; }
|
||||
|
||||
public string EmployeePflege { get; set; }
|
||||
|
||||
public string CustomerToilettengang { get; set; }
|
||||
|
||||
public string EmployeeToilettengang { get; set; }
|
||||
|
||||
public string CustomerAggressivitaet { get; set; }
|
||||
|
||||
public string EmployeeAggressivitaet { get; set; }
|
||||
|
||||
public string CustomerHygienebelehrung { get; set; }
|
||||
|
||||
public string EmployeeHygienebelehrung { get; set; }
|
||||
|
||||
public string CustomerSchutzstufe { get; set; }
|
||||
|
||||
public string EmployeeSchutzstufe { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,47 +1,40 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using BeWo.ServiceProxy;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BS.Shared.Extensions;
|
||||
using DevExpress.Xpf.Grid;
|
||||
|
||||
namespace BeWo.SchulbegleitenderDienst
|
||||
{
|
||||
class WochenVertretung
|
||||
internal class WochenVertretung
|
||||
{
|
||||
|
||||
public List<WochenansichtVM> GetWochenAnsichtFromItems(DateTime time, List<TagesansichtVM> _items)
|
||||
{
|
||||
List<WochenansichtVM> _itemsWochen = new List<WochenansichtVM>();
|
||||
|
||||
var _itemsWochen = new List<WochenansichtVM>();
|
||||
|
||||
DateTime startdt = time.FirstDateOfWeek(time.GetIso8601WeekOfYear());
|
||||
var startdt = time.FirstDateOfWeek(time.GetIso8601WeekOfYear());
|
||||
|
||||
Dictionary<String, WochenansichtVM> key2WochenAnsicht = new Dictionary<string, WochenansichtVM>();
|
||||
var key2WochenAnsicht = new Dictionary<string, WochenansichtVM>();
|
||||
foreach (var item in _items)
|
||||
{
|
||||
String key = String.Format("{0}_{1}_{2}", item.Absencetime.AbsenceTimeOid,
|
||||
item.Customer != null ? item.Customer.CustomerOid : 0,
|
||||
item.Employee != null ? item.Employee.EmployeeOid : 0);
|
||||
var key = $"{item.Absencetime.AbsenceTimeOid}_{item.Customer?.CustomerOid ?? 0}_{item.Employee?.EmployeeOid ?? 0}";
|
||||
|
||||
WochenansichtVM wochenansicht = null;
|
||||
WochenansichtVM wochenansicht;
|
||||
if (!key2WochenAnsicht.ContainsKey(key))
|
||||
{
|
||||
wochenansicht = new WochenansichtVM();
|
||||
wochenansicht.VertretungsWoche = new Dictionary<string, Dictionary<DateTime, TagesansichtVM>>();
|
||||
wochenansicht.KlientvertretungsWoche =
|
||||
new Dictionary<string, Dictionary<DateTime, TagesansichtVM>>();
|
||||
wochenansicht.WochenBeschreibung = item.WochenansichtBemerkung;
|
||||
wochenansicht = new WochenansichtVM
|
||||
{
|
||||
VertretungsWoche = new Dictionary<string, Dictionary<DateTime, TagesansichtVM>>(),
|
||||
KlientvertretungsWoche = new Dictionary<string, Dictionary<DateTime, TagesansichtVM>>(),
|
||||
WochenBeschreibung = item.WochenansichtBemerkung,
|
||||
Customer = item.Customer,
|
||||
Employee = item.Employee
|
||||
};
|
||||
|
||||
wochenansicht.Customer = item.Customer;
|
||||
wochenansicht.Employee = item.Employee;
|
||||
if (String.IsNullOrEmpty(wochenansicht.Dringlichkeit))
|
||||
if (string.IsNullOrEmpty(wochenansicht.Dringlichkeit))
|
||||
{
|
||||
wochenansicht.Dringlichkeit = item.Dringlichkeit;
|
||||
wochenansicht.DringlichkeitColor = item.DringlichkeitColor;
|
||||
@@ -56,22 +49,18 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
key2WochenAnsicht.Add(key, wochenansicht);
|
||||
|
||||
_itemsWochen.Add(wochenansicht);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
wochenansicht = key2WochenAnsicht[key];
|
||||
}
|
||||
|
||||
DateTime montagDt = startdt.Date;
|
||||
DateTime dienstagDt = startdt.Date.AddDays(1);
|
||||
DateTime mittwochDt = startdt.Date.AddDays(2);
|
||||
DateTime donnerstagDt = startdt.Date.AddDays(3);
|
||||
DateTime freitagDt = startdt.Date.AddDays(4);
|
||||
DateTime samstagDt = startdt.Date.AddDays(5);
|
||||
|
||||
|
||||
var montagDt = startdt.Date;
|
||||
var dienstagDt = startdt.Date.AddDays(1);
|
||||
var mittwochDt = startdt.Date.AddDays(2);
|
||||
var donnerstagDt = startdt.Date.AddDays(3);
|
||||
var freitagDt = startdt.Date.AddDays(4);
|
||||
var samstagDt = startdt.Date.AddDays(5);
|
||||
|
||||
// Montag | 0
|
||||
WochentagVerarbeitung(montagDt, item, wochenansicht);
|
||||
@@ -96,9 +85,8 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
return _itemsWochen;
|
||||
}
|
||||
|
||||
private void WochentagVerarbeitung(DateTime wochentagDt, TagesansichtVM item, WochenansichtVM wwk)
|
||||
private static void WochentagVerarbeitung(DateTime wochentagDt, TagesansichtVM item, WochenansichtVM wwk)
|
||||
{
|
||||
|
||||
if (wochentagDt == item.Datum)
|
||||
{
|
||||
switch (wochentagDt.DayOfWeek)
|
||||
@@ -121,13 +109,8 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
case DayOfWeek.Saturday:
|
||||
wwk.ItemSa = item;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private string AddWeekView(DateTime dayOfWeekDateTime, Dictionary<AppointmentDayOfWeek, string> wochentagsarbeitszeit)
|
||||
@@ -143,7 +126,7 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
public void AddeNeueVertretungforWochenAnsicht(WochenansichtVM wochenVm, string tag)
|
||||
@@ -176,7 +159,7 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
}
|
||||
|
||||
if (tagesVm != null)
|
||||
{
|
||||
{
|
||||
var view = new VertretungsSearchView(tagesVm.Datum, tagesVm.Customer, tagesVm, wochenVm, wochenVm.Employee);
|
||||
|
||||
view.RaiseCustomEvent += KlientenWochen_RaiseCustomEvent;
|
||||
@@ -187,7 +170,6 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
public void KlientenWochen_RaiseCustomEvent(object sender, VertretungSelectedEventArgs e)
|
||||
{
|
||||
UpdateMitarbeiterToVertretungKlientenWochenansicht(e.Employee, e.VertretungVon, e.VertretungBis, e.TagesItem, e.WochenItem);
|
||||
|
||||
}
|
||||
|
||||
private static void UpdateMitarbeiterToVertretungKlientenWochenansicht(CompactEmployeeDC employee, DateTime? startDate, DateTime? endDate, TagesansichtVM tagesItem, WochenansichtVM wochenItem)
|
||||
|
||||
@@ -1,33 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BS.Shared.DataContracts.Compact;
|
||||
using BeWo.SchulbegleitenderDienst.ViewModel;
|
||||
|
||||
namespace BeWo.SchulbegleitenderDienst
|
||||
{
|
||||
public class WochenansichtVM
|
||||
public class WochenansichtVM : VertretungsansichtBaseVM
|
||||
{
|
||||
public CompactEmployeeDC Employee { get; set; }
|
||||
|
||||
public CompactCustomerDC Customer { get; set; }
|
||||
|
||||
public string EmployeeName => Employee?.ToString();
|
||||
|
||||
public string CustomerName => Customer?.ToString();
|
||||
|
||||
public string Dringlichkeit { get; set; }
|
||||
|
||||
public string DringlichkeitColor { get; set; }
|
||||
|
||||
public string Teamleitung { get; set; }
|
||||
|
||||
public string Geschlecht { get; set; }
|
||||
|
||||
public string Pflege { get; set; }
|
||||
|
||||
public string Toilettengang { get; set; }
|
||||
|
||||
public string Aggressiv { get; set; }
|
||||
|
||||
public TagesansichtVM ItemMo { get; set; }
|
||||
public TagesansichtVM ItemDi { get; set; }
|
||||
public TagesansichtVM ItemMi { get; set; }
|
||||
@@ -35,55 +13,10 @@ namespace BeWo.SchulbegleitenderDienst
|
||||
public TagesansichtVM ItemFr { get; set; }
|
||||
public TagesansichtVM ItemSa { get; set; }
|
||||
|
||||
//public CompactEmployeeDC VertreterDi { get; set; }
|
||||
//public CompactEmployeeDC VertreterMi { get; set; }
|
||||
//public CompactEmployeeDC VertreterDo { get; set; }
|
||||
//public CompactEmployeeDC VertreterFr { get; set; }
|
||||
//public CompactEmployeeDC VertreterSa { get; set; }
|
||||
|
||||
//public CompactEmployeeDC VertreterMo { get; set; }
|
||||
//public CompactEmployeeDC VertreterDi { get; set; }
|
||||
//public CompactEmployeeDC VertreterMi { get; set; }
|
||||
//public CompactEmployeeDC VertreterDo { get; set; }
|
||||
//public CompactEmployeeDC VertreterFr { get; set; }
|
||||
//public CompactEmployeeDC VertreterSa { get; set; }
|
||||
|
||||
|
||||
public string Bemerkung { get; set; }
|
||||
|
||||
public string WochenBeschreibung { get; set; }
|
||||
|
||||
//public String VertretungStatusColorMo { get; set; }
|
||||
//public String VertretungStatusColorDi { get; set; }
|
||||
//public String VertretungStatusColorMi { get; set; }
|
||||
//public String VertretungStatusColorDo { get; set; }
|
||||
//public String VertretungStatusColorFr { get; set; }
|
||||
//public String VertretungStatusColorSa { get; set; }
|
||||
|
||||
//public string Mo { get; set; }
|
||||
//public string Di { get; set; }
|
||||
//public string Mi { get; set; }
|
||||
//public string Do { get; set; }
|
||||
//public string Fr { get; set; }
|
||||
//public string Sa { get; set; }
|
||||
//public string So { get; set; }
|
||||
|
||||
//KlientenView
|
||||
public Dictionary<string, Dictionary<DateTime, TagesansichtVM>> VertretungsWoche { get; set; }
|
||||
|
||||
////Fürs WPF Employee Wochenanzeige
|
||||
//public string EingesetztBeiMo { get; set; }
|
||||
//public string EingesetztBeiDi { get; set; }
|
||||
//public string EingesetztBeiMi { get; set; }
|
||||
//public string EingesetztBeiDo { get; set; }
|
||||
//public string EingesetztBeiFr { get; set; }
|
||||
//public string EingesetztBeiSa { get; set; }
|
||||
|
||||
//MitarbeiterView
|
||||
public Dictionary<string, Dictionary<DateTime, TagesansichtVM>> KlientvertretungsWoche { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -290,7 +290,7 @@
|
||||
</dxg:GridColumn>
|
||||
<dxg:GridColumn FieldName="OrganisationString" Header="Organisation" Width="150" AllowEditing="False" />
|
||||
<dxg:GridColumn FieldName="PersonString" Header="Ansprechpartner" Width="150" AllowEditing="False" />
|
||||
<dxg:GridColumn x:Name="gridcolumn_evironmentroleorganisation" FieldName="Role" Header="Rolle" Width="150" />
|
||||
<dxg:GridColumn x:Name="gridcolumn_evironmentroleorganisation" FieldName="Role" Header="Rolle" Width="150" ReadOnly="True" />
|
||||
<dxg:GridColumn FieldName="AddressSummaryInfo" Header="Adresse" Width="150" />
|
||||
<dxg:GridColumn FieldName="ContactSummaryInfo" Header="Kontaktdaten" Width="150" />
|
||||
<dxg:GridColumn FieldName="Info1" Header="Info" Width="200" />
|
||||
|
||||
@@ -1,20 +1,16 @@
|
||||
<UserControl x:Class="BeWo.View.WaitLayer2"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:BeWo="clr-namespace:BeWo"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d"
|
||||
Foreground="{DynamicResource BSOrangeBrush}">
|
||||
<UserControl.Resources>
|
||||
|
||||
<UserControl.Resources>
|
||||
<Style TargetType="{x:Type Rectangle}">
|
||||
<Setter Property="Fill" Value="{Binding Path=Foreground, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}" />
|
||||
<Setter Property="Width" Value="12" />
|
||||
<Setter Property="Height" Value="40" />
|
||||
</Style>
|
||||
|
||||
<Storyboard x:Key="OnLoaded1" RepeatBehavior="Forever">
|
||||
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00.1" Storyboard.TargetName="bSLogoControl" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)" >
|
||||
<LinearDoubleKeyFrame KeyTime="0:0:0" Value="45" />
|
||||
@@ -41,30 +37,27 @@
|
||||
<LinearDoubleKeyFrame KeyTime="0:0:0" Value="360" />
|
||||
</DoubleAnimationUsingKeyFrames>
|
||||
</Storyboard>
|
||||
</UserControl.Resources>
|
||||
</UserControl.Resources>
|
||||
<UserControl.Triggers>
|
||||
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
|
||||
<BeginStoryboard Storyboard="{StaticResource OnLoaded1}" />
|
||||
</EventTrigger>
|
||||
</UserControl.Triggers>
|
||||
|
||||
<Grid>
|
||||
<Grid Background="White" Opacity="0.01" />
|
||||
<Border CornerRadius="5,5,5,5" Opacity="0.92" BorderThickness="1,1,1,1" Padding="5,5,5,5" BorderBrush="#FF606060" VerticalAlignment="Center" Width="250" Height="100" Background="#FFFFFFFF">
|
||||
<Border.OpacityMask>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#F3FFFFFF" Offset="0.027" />
|
||||
<GradientStop Color="#D7FFFFFF" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Border.OpacityMask>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="2*" />
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<Label Content="Daten werden übertragen. Bitte warten..." Foreground="#FF000000" FontSize="12" FontFamily="Microsoft Sans Serif" FontWeight="Normal" HorizontalAlignment="Center" VerticalAlignment="Center" />
|
||||
|
||||
<Grid>
|
||||
<Grid Background="White" Opacity="0.01" />
|
||||
<Border CornerRadius="5,5,5,5" Opacity="0.92" BorderThickness="1,1,1,1" Padding="5,5,5,5" BorderBrush="#FF606060" VerticalAlignment="Center" Width="250" Height="100" Background="#FFFFFFFF">
|
||||
<Border.OpacityMask>
|
||||
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
|
||||
<GradientStop Color="#F3FFFFFF" Offset="0.027" />
|
||||
<GradientStop Color="#D7FFFFFF" Offset="1" />
|
||||
</LinearGradientBrush>
|
||||
</Border.OpacityMask>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*" />
|
||||
<RowDefinition Height="2*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Content="Daten werden übertragen. Bitte warten..." Foreground="#FF000000" FontSize="12" FontFamily="Microsoft Sans Serif" FontWeight="Normal" HorizontalAlignment="Center" VerticalAlignment="Center" />
|
||||
<Grid Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Width="40" Height="40" x:Name="bSLogoControl" RenderTransformOrigin="0.5,0.5" Background="#00000000" >
|
||||
<Grid.RenderTransform>
|
||||
<TransformGroup>
|
||||
@@ -74,7 +67,9 @@
|
||||
<TranslateTransform X="0" Y="0" />
|
||||
</TransformGroup>
|
||||
</Grid.RenderTransform>
|
||||
<Viewbox StretchDirection="Both" Stretch="Fill" MaxWidth="{Binding Path=Width, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}" MaxHeight="{Binding Path=Height, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
|
||||
<Viewbox StretchDirection="Both" Stretch="Fill"
|
||||
MaxWidth="{Binding Path=ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}"
|
||||
MaxHeight="{Binding Path=ActualHeight, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}">
|
||||
<Canvas Width="100" Height="100">
|
||||
<Canvas Width="100" Height="100" Canvas.Left="0" Canvas.Top="0">
|
||||
<Rectangle Canvas.Left="44" Canvas.Top="0" RadiusX="6" RadiusY="6"/>
|
||||
@@ -160,7 +155,7 @@
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Border>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Windows.Controls;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace BeWo.View
|
||||
{
|
||||
|
||||
@@ -2977,7 +2977,34 @@ namespace BeWo.Data.Access
|
||||
return c.List<SchedulerAppointment>();
|
||||
}
|
||||
|
||||
public bool CheckForOverlappingSubstitutions(long? employeeOid, long? customerOid, DateTime startDate, DateTime endDate)
|
||||
public bool CheckForOverlappingSubstitutions(long? employeeOid, long? customerOid, DateTime startDate, DateTime endDate, long? substitutionOid)
|
||||
{
|
||||
var c = CreateCriteria<Vertretung>();
|
||||
|
||||
var employeeRestriction = Restrictions.Eq(nameof(Vertretung.EmployeeOid), employeeOid);
|
||||
var customerRestriction = Restrictions.Eq(nameof(Vertretung.CustomerOid), customerOid);
|
||||
|
||||
var notCurrentSubstitution = Restrictions.Not(Restrictions.Eq(nameof(BeWoEntityBase.Oid), substitutionOid));
|
||||
|
||||
var peopleRestriction = Restrictions.Or(employeeRestriction, customerRestriction);
|
||||
var timeRestriction = CreateBetweenDateTimesCriterion(startDate, endDate, nameof(Vertretung.VertretungsZeitraumVon), nameof(Vertretung.VertretungsZeitraumBis));
|
||||
|
||||
c.Add(peopleRestriction).Add(timeRestriction).Add(notCurrentSubstitution);
|
||||
|
||||
return c.List<Vertretung>().Any();
|
||||
}
|
||||
|
||||
private static AbstractCriterion CreateBetweenDateTimesCriterion(DateTime start, DateTime end, string propertyNameStart, string propertyNameEnd)
|
||||
{
|
||||
var inBetween1 = Restrictions.And(Restrictions.Ge(propertyNameStart, start), Restrictions.Le(propertyNameStart, end));
|
||||
var inBetween2 = Restrictions.And(Restrictions.Le(propertyNameStart, start), Restrictions.Ge(propertyNameEnd, end));
|
||||
var inBetween3 = Restrictions.And(Restrictions.Le(propertyNameStart, start), Restrictions.Ge(propertyNameEnd, start));
|
||||
var inBetween4 = Restrictions.And(Restrictions.Ge(propertyNameStart, start), Restrictions.Le(propertyNameEnd, end));
|
||||
|
||||
return Restrictions.Or(Restrictions.Or(inBetween1, inBetween2), Restrictions.Or(inBetween3, inBetween4));
|
||||
}
|
||||
|
||||
public bool CheckForOverlappingAbsenceTimes(DateTime startDate, DateTime endDate, long? employeeOid, long? customerOid)
|
||||
{
|
||||
var c = CreateCriteria<AbsenceTime>();
|
||||
|
||||
@@ -2992,14 +3019,17 @@ namespace BeWo.Data.Access
|
||||
return c.List<AbsenceTime>().Any();
|
||||
}
|
||||
|
||||
private static AbstractCriterion CreateBetweenDateTimesCriterion(DateTime start, DateTime end, string propertyNameStart, string propertyNameEnd)
|
||||
public IList<Vertretung> GetLastSubstitutionItems(long employeeOid, int count)
|
||||
{
|
||||
var inBetween1 = Restrictions.And(Restrictions.Ge(propertyNameStart, start), Restrictions.Le(propertyNameStart, end));
|
||||
var inBetween2 = Restrictions.And(Restrictions.Le(propertyNameStart, start), Restrictions.Ge(propertyNameEnd, end));
|
||||
var inBetween3 = Restrictions.And(Restrictions.Le(propertyNameStart, start), Restrictions.Ge(propertyNameEnd, start));
|
||||
var inBetween4 = Restrictions.And(Restrictions.Ge(propertyNameStart, start), Restrictions.Le(propertyNameEnd, end));
|
||||
var criteria = CreateCriteria<Vertretung>();
|
||||
|
||||
return Restrictions.Or(Restrictions.Or(inBetween1, inBetween2), Restrictions.Or(inBetween3, inBetween4));
|
||||
criteria.Add(Restrictions.Eq(nameof(Vertretung.EmployeeOid), employeeOid));
|
||||
|
||||
criteria.AddOrder(Order.Desc(nameof(Vertretung.VertretungsZeitraumBis)));
|
||||
|
||||
criteria.SetMaxResults(count);
|
||||
|
||||
return criteria.List<Vertretung>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,53 +9,53 @@ namespace BeWo.Data.Entities
|
||||
{
|
||||
public class Customer : BeWoEntityBase
|
||||
{
|
||||
public static string PropertyName_AbsenceTimes = "AbsenceTimes";
|
||||
public static string PropertyName_Ansprechpartner = "Ansprechpartner";
|
||||
public static string PropertyName_AssessmentSheetCategoryList = "AssessmentSheetCategoryList";
|
||||
public static string PropertyName_Childs = "Childs";
|
||||
public static string PropertyName_Customer2CostBearerList = "Customer2CostBearerList";
|
||||
public static string PropertyName_Customer2PersonList = "Customer2PersonList";
|
||||
public static string PropertyName_Customer2OrganisationList = "Customer2OrganisationList";
|
||||
public static string PropertyName_DebitorNumber = "DebitorNumber";
|
||||
public static string PropertyName_CostCenter = "CostCenter";
|
||||
public static string PropertyName_Diagnosis = "Diagnosis";
|
||||
public static string PropertyName_Diagnosis2CustomerList = "Diagnosis2CustomerList";
|
||||
public static string PropertyName_Employee2CustomerList = "Employee2CustomerList";
|
||||
public static string PropertyName_FamilyData = "FamilyData";
|
||||
public static string PropertyName_Team2CustomerList = "Team2CustomerList";
|
||||
public static string PropertyName_EquityContribution = "EquityContribution";
|
||||
public static string PropertyName_ICD10Diagnosis = "ICD10Diagnosis";
|
||||
public static string PropertyName_IsAdvisedOrAttended = "IsAdvisedOrAttended";
|
||||
public static string PropertyName_Medication = "Medication";
|
||||
public static string PropertyName_Jugendamt = "Jugendamt";
|
||||
public static string PropertyName_Person = "Person";
|
||||
public static string PropertyName_PlacementList = "PlacementList";
|
||||
public static string PropertyName_ReferenceNumber = "ReferenceNumber";
|
||||
public static string PropertyName_ServiceRecordList = "ServiceRecordList";
|
||||
public static string PropertyName_SupportConcepts = "SupportConcepts";
|
||||
public static string PropertyName_TerminationDate = "TerminationDate";
|
||||
public static string PropertyName_TerminationReason = "TerminationReason";
|
||||
public static string PropertyName_ValueList = "ValueList";
|
||||
public static string PropertyName_VarFieldValueList = "VarFieldValueList";
|
||||
public static string PropertyName_Medikamentenverordnungslisten = "Medikamentenverordnungslisten";
|
||||
public static string PropertyName_AssistanceBegin = "AssistanceBegin";
|
||||
public static string PropertyName_AusstVersAmt = "AusstVersAmt";
|
||||
public static string PropertyName_AusweisGueltigVon = "AusweisGueltigVon";
|
||||
public static string PropertyName_AusweisGueltigBis = "AusweisGueltigBis";
|
||||
public static string PropertyName_AusweisUnbefristetGueltig = "AusweisUnbefristetGueltig";
|
||||
public static string PropertyName_BeiblattGueltigBis = "BeiblattGueltigBis";
|
||||
public static string PropertyName_GradDerBehinderung = "GradDerBehinderung";
|
||||
public static string PropertyName_MerkzeichenListe = "MerkzeichenListe";
|
||||
public static string PropertyName_BehinderungsartenListe = "BehinderungsartenListe";
|
||||
public static string PropertyName_CustomerAlias = "CustomerAlias";
|
||||
public static string PropertyName_Pflegegrad = "Pflegegrad";
|
||||
public static string PropertyName_IsMigrant = "IsMigrant";
|
||||
public static string PropertyName_Nationalitaet = "Nationalitaet";
|
||||
public static string PropertyName_AufenthaltsStatus = "AufenthaltsStatus";
|
||||
public static string PropertyName_VertretungGewuenscht = "VertretungGewuenscht";
|
||||
public static string PropertyName_AbWelchemKrankheitsTag = "AbWelchemKrankheitsTag ";
|
||||
public static string PropertyName_AbsenceTimes = "AbsenceTimes";
|
||||
public static string PropertyName_Ansprechpartner = "Ansprechpartner";
|
||||
public static string PropertyName_AssessmentSheetCategoryList = "AssessmentSheetCategoryList";
|
||||
public static string PropertyName_Childs = "Childs";
|
||||
public static string PropertyName_Customer2CostBearerList = "Customer2CostBearerList";
|
||||
public static string PropertyName_Customer2PersonList = "Customer2PersonList";
|
||||
public static string PropertyName_Customer2OrganisationList = "Customer2OrganisationList";
|
||||
public static string PropertyName_DebitorNumber = "DebitorNumber";
|
||||
public static string PropertyName_CostCenter = "CostCenter";
|
||||
public static string PropertyName_Diagnosis = "Diagnosis";
|
||||
public static string PropertyName_Diagnosis2CustomerList = "Diagnosis2CustomerList";
|
||||
public static string PropertyName_Employee2CustomerList = "Employee2CustomerList";
|
||||
public static string PropertyName_FamilyData = "FamilyData";
|
||||
public static string PropertyName_Team2CustomerList = "Team2CustomerList";
|
||||
public static string PropertyName_EquityContribution = "EquityContribution";
|
||||
public static string PropertyName_ICD10Diagnosis = "ICD10Diagnosis";
|
||||
public static string PropertyName_IsAdvisedOrAttended = "IsAdvisedOrAttended";
|
||||
public static string PropertyName_Medication = "Medication";
|
||||
public static string PropertyName_Jugendamt = "Jugendamt";
|
||||
public static string PropertyName_Person = "Person";
|
||||
public static string PropertyName_PlacementList = "PlacementList";
|
||||
public static string PropertyName_ReferenceNumber = "ReferenceNumber";
|
||||
public static string PropertyName_ServiceRecordList = "ServiceRecordList";
|
||||
public static string PropertyName_SupportConcepts = "SupportConcepts";
|
||||
public static string PropertyName_TerminationDate = "TerminationDate";
|
||||
public static string PropertyName_TerminationReason = "TerminationReason";
|
||||
public static string PropertyName_ValueList = "ValueList";
|
||||
public static string PropertyName_VarFieldValueList = "VarFieldValueList";
|
||||
public static string PropertyName_Medikamentenverordnungslisten = "Medikamentenverordnungslisten";
|
||||
public static string PropertyName_AssistanceBegin = "AssistanceBegin";
|
||||
public static string PropertyName_AusstVersAmt = "AusstVersAmt";
|
||||
public static string PropertyName_AusweisGueltigVon = "AusweisGueltigVon";
|
||||
public static string PropertyName_AusweisGueltigBis = "AusweisGueltigBis";
|
||||
public static string PropertyName_AusweisUnbefristetGueltig = "AusweisUnbefristetGueltig";
|
||||
public static string PropertyName_BeiblattGueltigBis = "BeiblattGueltigBis";
|
||||
public static string PropertyName_GradDerBehinderung = "GradDerBehinderung";
|
||||
public static string PropertyName_MerkzeichenListe = "MerkzeichenListe";
|
||||
public static string PropertyName_BehinderungsartenListe = "BehinderungsartenListe";
|
||||
public static string PropertyName_CustomerAlias = "CustomerAlias";
|
||||
public static string PropertyName_Pflegegrad = "Pflegegrad";
|
||||
public static string PropertyName_IsMigrant = "IsMigrant";
|
||||
public static string PropertyName_Nationalitaet = "Nationalitaet";
|
||||
public static string PropertyName_AufenthaltsStatus = "AufenthaltsStatus";
|
||||
public static string PropertyName_VertretungGewuenscht = "VertretungGewuenscht";
|
||||
public static string PropertyName_AbWelchemKrankheitsTag = "AbWelchemKrankheitsTag ";
|
||||
public static string PropertyName_VertretungDringendErforderlich = "VertretungGewuenscht";
|
||||
public static string PropertyName_Arbeitszeit = "Arbeitszeit";
|
||||
public static string PropertyName_Arbeitszeit = "Arbeitszeit";
|
||||
|
||||
private Auszahlungsintervall _Auszahlungsintervall;
|
||||
private IList<AbsenceTime> _AbsenceTimes;
|
||||
@@ -289,8 +289,6 @@ namespace BeWo.Data.Entities
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public virtual IList<Team2Customer> Team2CustomerList
|
||||
{
|
||||
get { return _Team2CustomerList ?? (_Team2CustomerList = new List<Team2Customer>()); }
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</property>
|
||||
|
||||
<property name="connection.connection_string">
|
||||
Server=localhost;Password=root;User ID=root; Initial Catalog=alpha
|
||||
Server=localhost;Password=root;User ID=root; Initial Catalog=bewodemo
|
||||
</property>
|
||||
|
||||
<property name="dialect">
|
||||
|
||||
@@ -132,6 +132,9 @@ namespace Host
|
||||
case ReportTypes.NotizenKategorie:
|
||||
report = CreateNotizenReport();
|
||||
break;
|
||||
case ReportTypes.SBDCharacteristics:
|
||||
report = CreateSBDCharacteristicsReport();
|
||||
break;
|
||||
default:
|
||||
report = CreateQueryReport();
|
||||
break;
|
||||
@@ -526,6 +529,13 @@ namespace Host
|
||||
return reportCreator.CreateNotizenReport(kategorieOid, start, end);
|
||||
}
|
||||
|
||||
private XtraReport CreateSBDCharacteristicsReport()
|
||||
{
|
||||
var customerOid = long.Parse(Request.Params["customerOid"]);
|
||||
|
||||
return reportCreator.CreateSBDCharacteristicsReport(customerOid);
|
||||
}
|
||||
|
||||
private AbstractReportCreator GetReportCreator()
|
||||
{
|
||||
String t = slicedToken["tenant"].ToString();
|
||||
|
||||
@@ -66,6 +66,8 @@ namespace BeWo.Report
|
||||
|
||||
public abstract XtraReport CreateNotizenReport(long kategorieOid, DateTime start, DateTime end);
|
||||
|
||||
public abstract XtraReport CreateSBDCharacteristicsReport(long customerOid);
|
||||
|
||||
public abstract XtraReport CreateSbdLeistungsnachweisForAllCustomers(int month, int year, long orgaOid, long empOid, long serviceCategoryOid, int startDay, int endDay);
|
||||
|
||||
public abstract XtraReport CreateSbdLeistungsnachweisForSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long serviceCategoryOid, int startDay, int endDay);
|
||||
|
||||
@@ -615,5 +615,13 @@ namespace BeWo.Report
|
||||
}
|
||||
return report as XtraReport;
|
||||
}
|
||||
|
||||
public override XtraReport CreateSBDCharacteristicsReport(long customerOid)
|
||||
{
|
||||
var report = FindReportImp<SBDCharacteristicsRO>();
|
||||
report.SetReportDataSource(SBDCharacteristicsRO.Create(MapperFactory.CustomerDC_Customer.MapToNewDC(DAOFactory.GenericDAO.LoadByID<Customer>(customerOid))));
|
||||
|
||||
return report as XtraReport;
|
||||
}
|
||||
}
|
||||
}
|
||||
1120
Report/DefaultReports/SBDCharacteristicsReport.Designer.cs
generated
Normal file
1120
Report/DefaultReports/SBDCharacteristicsReport.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
22
Report/DefaultReports/SBDCharacteristicsReport.cs
Normal file
22
Report/DefaultReports/SBDCharacteristicsReport.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using DevExpress.XtraReports.UI;
|
||||
using BeWo.Report.ReportObjects;
|
||||
|
||||
namespace BeWo.Report.DefaultReports
|
||||
{
|
||||
public partial class SBDCharacteristicsReport : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<SBDCharacteristicsRO>
|
||||
{
|
||||
public SBDCharacteristicsReport()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetReportDataSource(SBDCharacteristicsRO pRO)
|
||||
{
|
||||
this.bindingSource1.DataSource = pRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
123
Report/DefaultReports/SBDCharacteristicsReport.resx
Normal file
123
Report/DefaultReports/SBDCharacteristicsReport.resx
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -75,12 +75,14 @@
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Charts.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.DataAccess.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.Pdf.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Data.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Office.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.RichEdit.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Xpo.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
|
||||
<Reference Include="DevExpress.XtraCharts.v17.1.Wizard, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
</Reference>
|
||||
@@ -88,6 +90,7 @@
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
</Reference>
|
||||
<Reference Include="DevExpress.XtraEditors.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraGauges.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.PivotGrid.v17.1.Core, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPivotGrid.v17.1, Version=17.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
@@ -149,6 +152,12 @@
|
||||
<Compile Include="DefaultReports\AdditionalServiceBookingReport.Designer.cs">
|
||||
<DependentUpon>AdditionalServiceBookingReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DefaultReports\SBDCharacteristicsReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="DefaultReports\SBDCharacteristicsReport.Designer.cs">
|
||||
<DependentUpon>SBDCharacteristicsReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DefaultReports\EmployeeDataReport.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -362,6 +371,7 @@
|
||||
<Compile Include="ReportObjects\MitarbeiterstundenkontoBerechnung.cs" />
|
||||
<Compile Include="ReportObjects\MitarbeiterstundenkontoMonateRO.cs" />
|
||||
<Compile Include="ReportObjects\MitarbeiterstundenkontoRO.cs" />
|
||||
<Compile Include="ReportObjects\SBDCharacteristicsRO.cs" />
|
||||
<Compile Include="ReportObjects\SbdStundenaufstellungRO.cs" />
|
||||
<Compile Include="ReportObjects\Settlement2RO.cs" />
|
||||
<Compile Include="ReportObjects\ServiceInvoiceRO.cs" />
|
||||
@@ -379,6 +389,10 @@
|
||||
<EmbeddedResource Include="DefaultReports\AdditionalServiceBookingReport.resx">
|
||||
<DependentUpon>AdditionalServiceBookingReport.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="DefaultReports\SBDCharacteristicsReport.resx">
|
||||
<DependentUpon>SBDCharacteristicsReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="DefaultReports\EmployeeDataReport.resx">
|
||||
<DependentUpon>EmployeeDataReport.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
|
||||
231
Report/ReportObjects/SBDCharacteristicsRO.cs
Normal file
231
Report/ReportObjects/SBDCharacteristicsRO.cs
Normal file
@@ -0,0 +1,231 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BeWo.Data.ICD10;
|
||||
using BS.Shared;
|
||||
using BS.Shared.DataContracts;
|
||||
|
||||
namespace BeWo.Report.ReportObjects
|
||||
{
|
||||
public class SBDCharacteristicsRO : AbstractBeWoReportObject<SBDCharacteristicsRO>
|
||||
{
|
||||
public long CustomerOid { get; set; }
|
||||
|
||||
public List<CustomerCostBearerRelationDC> CostBearers { get; set; }
|
||||
|
||||
public string DateOfBirth { get; set; }
|
||||
|
||||
public string Disabilities { get; set; }
|
||||
|
||||
public List<CustomerPersonRelationDC> EnvironmentPersons { get; set; }
|
||||
|
||||
public List<CustomerOrganisationRelationDC> EnvironmentOrganisations { get; set; }
|
||||
|
||||
public List<AbsenceTimeDC> Abwesenheiten { get; set; }
|
||||
|
||||
public string FamilyStatus { get; set; }
|
||||
|
||||
public string Fax { get; set; }
|
||||
|
||||
public string FirstName { get; set; }
|
||||
|
||||
public string LastName { get; set; }
|
||||
|
||||
public string Mail { get; set; }
|
||||
|
||||
public string Mobile { get; set; }
|
||||
|
||||
public string Name => FirstName + " " + LastName;
|
||||
|
||||
public string Notice { get; set; }
|
||||
|
||||
public string Occupation { get; set; }
|
||||
|
||||
public string Phone { get; set; }
|
||||
|
||||
public string PostCode { get; set; }
|
||||
|
||||
public string ReferenceNumber { get; set; }
|
||||
|
||||
public List<CustomerEmployeeRelationDC> RelatedEmployees { get; set; }
|
||||
|
||||
public string Sex { get; set; }
|
||||
|
||||
public string Street { get; set; }
|
||||
|
||||
public string Town { get; set; }
|
||||
|
||||
public object VarField1 { get; set; }
|
||||
|
||||
public object VarField2 { get; set; }
|
||||
|
||||
public object VarField3 { get; set; }
|
||||
|
||||
public object VarField4 { get; set; }
|
||||
|
||||
public object VarField5 { get; set; }
|
||||
|
||||
public object VarField6 { get; set; }
|
||||
|
||||
public object VarField7 { get; set; }
|
||||
|
||||
public object VarField8 { get; set; }
|
||||
|
||||
public object VarField9 { get; set; }
|
||||
|
||||
public object VarField10 { get; set; }
|
||||
|
||||
public List<ICD10Row> ICD10Diagnosen { get; set; }
|
||||
|
||||
public CustomerDC Customer { get; set; }
|
||||
|
||||
public static SBDCharacteristicsRO Create(CustomerDC pDC)
|
||||
{
|
||||
var result = new SBDCharacteristicsRO {Customer = pDC};
|
||||
|
||||
if (pDC.AbsenceTimes != null)
|
||||
{
|
||||
result.Abwesenheiten = pDC.AbsenceTimes.OrderBy(a => a.Start).ToList();
|
||||
}
|
||||
|
||||
result.CustomerOid = pDC.CustomerOid.Value;
|
||||
result.FirstName = pDC.FirstName;
|
||||
result.LastName = pDC.LastName;
|
||||
result.ReferenceNumber = pDC.ReferenceNumber;
|
||||
|
||||
if (pDC.DateOfBirth.HasValue)
|
||||
{
|
||||
result.DateOfBirth = pDC.DateOfBirth.Value.ToShortDateString();
|
||||
}
|
||||
|
||||
result.ICD10Diagnosen = new List<ICD10Row>();
|
||||
foreach (var idc10 in pDC.ICD10DiagnosisCodes)
|
||||
{
|
||||
result.ICD10Diagnosen.Add(new ICD10Row(idc10, ICD10DAO.GetDiagnosisForCode(idc10)));
|
||||
}
|
||||
|
||||
result.Sex = pDC.Sex == BS.Shared.Sex.Female ? "weiblich" : "männlich";
|
||||
result.Occupation = pDC.Profession;
|
||||
|
||||
if (pDC.FamilyStatus.HasValue)
|
||||
{
|
||||
switch (pDC.FamilyStatus.Value)
|
||||
{
|
||||
case BS.Shared.FamilyStatus.Divorced:
|
||||
result.FamilyStatus = "geschieden";
|
||||
break;
|
||||
case BS.Shared.FamilyStatus.Married:
|
||||
result.FamilyStatus = "verheiratet";
|
||||
break;
|
||||
case BS.Shared.FamilyStatus.Single:
|
||||
result.FamilyStatus = "ledig";
|
||||
break;
|
||||
case BS.Shared.FamilyStatus.Widowed:
|
||||
result.FamilyStatus = "verwitwet";
|
||||
break;
|
||||
case BS.Shared.FamilyStatus.Partner:
|
||||
result.FamilyStatus = "in Partnerschaft";
|
||||
break;
|
||||
case BS.Shared.FamilyStatus.PartnerDivorced:
|
||||
result.FamilyStatus = "getrennt lebend";
|
||||
break;
|
||||
case BS.Shared.FamilyStatus.PartnerDead:
|
||||
result.FamilyStatus = "partnerhinterblieben";
|
||||
break;
|
||||
case BS.Shared.FamilyStatus.PartnerMarried:
|
||||
result.FamilyStatus = "verpartnert";
|
||||
break;
|
||||
case BS.Shared.FamilyStatus.Entpartnert:
|
||||
result.FamilyStatus = "entpartnert";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result.Street = pDC.Street;
|
||||
result.Town = pDC.Town;
|
||||
result.PostCode = pDC.PostalCode;
|
||||
|
||||
foreach (var iContact in pDC.ContactInformations)
|
||||
{
|
||||
switch (iContact.ContactType)
|
||||
{
|
||||
case ContactType.business_Phone:
|
||||
result.Phone = iContact.ContactValue;
|
||||
break;
|
||||
case ContactType.business_MobilePhone:
|
||||
result.Mobile = iContact.ContactValue;
|
||||
break;
|
||||
case ContactType.business_Mail:
|
||||
result.Mail = iContact.ContactValue;
|
||||
break;
|
||||
case ContactType.business_Fax:
|
||||
result.Fax = iContact.ContactValue;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result.Notice = pDC.Notice;
|
||||
|
||||
result.Disabilities = string.Join(", ", pDC.Disabilities.Select(d => d.TypeDescription).ToArray());
|
||||
|
||||
result.CostBearers = pDC.CostBearers;
|
||||
result.RelatedEmployees = pDC.RelatedEmployees;
|
||||
result.EnvironmentPersons = pDC.EnvironmentPersons;
|
||||
result.EnvironmentOrganisations = pDC.EnvironmentOrganisations;
|
||||
|
||||
if (pDC.CustomerVarFields != null)
|
||||
{
|
||||
if (pDC.CustomerVarFields.Count > 0)
|
||||
{
|
||||
result.VarField1 = pDC.CustomerVarFields[0].VarFieldValue;
|
||||
}
|
||||
|
||||
if (pDC.CustomerVarFields.Count > 1)
|
||||
{
|
||||
result.VarField2 = pDC.CustomerVarFields[1].VarFieldValue;
|
||||
}
|
||||
|
||||
if (pDC.CustomerVarFields.Count > 2)
|
||||
{
|
||||
result.VarField3 = pDC.CustomerVarFields[2].VarFieldValue;
|
||||
}
|
||||
|
||||
if (pDC.CustomerVarFields.Count > 3)
|
||||
{
|
||||
result.VarField4 = pDC.CustomerVarFields[3].VarFieldValue;
|
||||
}
|
||||
|
||||
if (pDC.CustomerVarFields.Count > 4)
|
||||
{
|
||||
result.VarField5 = pDC.CustomerVarFields[4].VarFieldValue;
|
||||
}
|
||||
|
||||
if (pDC.CustomerVarFields.Count > 5)
|
||||
{
|
||||
result.VarField6 = pDC.CustomerVarFields[5].VarFieldValue;
|
||||
}
|
||||
|
||||
if (pDC.CustomerVarFields.Count > 6)
|
||||
{
|
||||
result.VarField7 = pDC.CustomerVarFields[6].VarFieldValue;
|
||||
}
|
||||
|
||||
if (pDC.CustomerVarFields.Count > 7)
|
||||
{
|
||||
result.VarField8 = pDC.CustomerVarFields[7].VarFieldValue;
|
||||
}
|
||||
|
||||
if (pDC.CustomerVarFields.Count > 8)
|
||||
{
|
||||
result.VarField9 = pDC.CustomerVarFields[8].VarFieldValue;
|
||||
}
|
||||
|
||||
if (pDC.CustomerVarFields.Count > 9)
|
||||
{
|
||||
result.VarField10 = pDC.CustomerVarFields[9].VarFieldValue;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,22 @@ namespace BeWo.Service.SBD
|
||||
{
|
||||
internal class VertretungsManager
|
||||
{
|
||||
private static List<ContactDC> LoadContactInformationForEntity<T>(long entityOid) where T : BeWoEntityBase
|
||||
{
|
||||
Person entity;
|
||||
|
||||
if(typeof(T) == typeof(Employee))
|
||||
{
|
||||
entity = DAOFactory.GenericDAO.LoadByID<Employee>(entityOid).Person;
|
||||
}
|
||||
else
|
||||
{
|
||||
entity = DAOFactory.GenericDAO.LoadByID<Customer>(entityOid).Person;
|
||||
}
|
||||
|
||||
return MapperFactory.ContactDC_Contact.MapToNewDCs(entity.Contacts);
|
||||
}
|
||||
|
||||
public List<VertretungsItemDC> CreateVertretungsListe(DateTime start, DateTime end)
|
||||
{
|
||||
var result = new List<VertretungsItemDC>();
|
||||
@@ -24,6 +40,22 @@ namespace BeWo.Service.SBD
|
||||
var vertretungen = DAOFactory.SearchDAO.FindVertretungen(start, end).ToList();
|
||||
var absenceTimes = DAOFactory.SearchDAO.FindAbsenceTimes(start, end).ToList();
|
||||
|
||||
var customerOids = vertretungen.Where(w => w.CustomerOid.HasValue).Select(s => s.CustomerOid.Value).ToList();
|
||||
customerOids.AddRangeIfElementsNotIn(absenceTimes.Where(w => w.CustomerOid.HasValue).Select(s => s.CustomerOid.Value).ToList());
|
||||
|
||||
var customers = DAOFactory.GenericDAO.LoadByIDs<Customer>(customerOids);
|
||||
var customerContactInformation = new Dictionary<long, List<ContactDC>>();
|
||||
|
||||
foreach (var customer in customers)
|
||||
{
|
||||
var contacts = MapperFactory.ContactDC_Contact.MapToNewDCs(customer.Person.Contacts);
|
||||
|
||||
if(customer.Oid != null)
|
||||
{
|
||||
customerContactInformation.AddOrUpdateValueInDictionary(customer.Oid.Value, contacts);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var absenceTime in absenceTimes)
|
||||
{
|
||||
if (absenceTime.EmployeeOid.HasValue) //Abwesenheit Mitarbeiter
|
||||
@@ -41,7 +73,7 @@ namespace BeWo.Service.SBD
|
||||
{
|
||||
if (valueListEntry2Object.Entry.Type == ValueListEntryType.StaffRoleType && !valueListEntry2Object.Entry.Value.Equals("ehemalige Betreuung")) // Nur Hauptbetreuer?
|
||||
{
|
||||
var items = ErstelleVertretungsItemsForAbsenceEmployee(absenceTime, employee, employee2Customer.Customer, vertretungen, start, end);
|
||||
var items = ErstelleVertretungsItemsForAbsenceEmployee(absenceTime, employee, employee2Customer.Customer, vertretungen, start, end, LoadContactInformationForEntity<Customer>(employee2Customer.Customer.Oid.Value), MapperFactory.ContactDC_Contact.MapToNewDCs(employee.Person.Contacts), MapperFactory.CustomerOrganisationRelationDC_Customer2Organisation.MapToNewDCs(employee2Customer.Customer.Customer2OrganisationList));
|
||||
if (items != null)
|
||||
{
|
||||
result.AddRange(items);
|
||||
@@ -59,13 +91,15 @@ namespace BeWo.Service.SBD
|
||||
}
|
||||
|
||||
var addEmpty = true;
|
||||
|
||||
foreach (var employee2Customer in customer.Employee2CustomerList.Where(e2c => e2c.Employee.IsActive == ActivationTypeId.Active))
|
||||
{
|
||||
foreach (var valueListEntry2Object in employee2Customer.ValueList)
|
||||
{
|
||||
if (valueListEntry2Object.Entry.Type == ValueListEntryType.StaffRoleType) // Nur Hauptbetreuer?
|
||||
{
|
||||
var items = ErstelleVertretungsItemsForAbsenceEmployee(absenceTime, employee2Customer.Employee, customer, null, start, end);
|
||||
var substitutions = vertretungen.Where(vertretung => vertretung.CustomerOid.HasValue && vertretung.CustomerOid == customer.Oid).ToList();
|
||||
var items = ErstelleVertretungsItemsForAbsenceEmployee(absenceTime, employee2Customer.Employee, customer, substitutions, start, end, customerContactInformation[customer.Oid.Value], MapperFactory.ContactDC_Contact.MapToNewDCs(employee2Customer.Employee.Person.Contacts), MapperFactory.CustomerOrganisationRelationDC_Customer2Organisation.MapToNewDCs(customer.Customer2OrganisationList));
|
||||
if (items != null)
|
||||
{
|
||||
addEmpty = false;
|
||||
@@ -77,7 +111,7 @@ namespace BeWo.Service.SBD
|
||||
|
||||
if (addEmpty)
|
||||
{
|
||||
var items = ErstelleVertretungsItemsForAbsenceEmployee(absenceTime, null, customer, null, start, end)?.ToList();
|
||||
var items = ErstelleVertretungsItemsForAbsenceEmployee(absenceTime, null, customer, null, start, end, customerContactInformation[customer.Oid.Value], null, MapperFactory.CustomerOrganisationRelationDC_Customer2Organisation.MapToNewDCs(customer.Customer2OrganisationList))?.ToList();
|
||||
if (items != null)
|
||||
{
|
||||
result.AddRange(items);
|
||||
@@ -102,10 +136,7 @@ namespace BeWo.Service.SBD
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in result)
|
||||
{
|
||||
if (item.MitarbeiterEinsatzBei == "???" && item.Employee != null)
|
||||
{
|
||||
item.MitarbeiterEinsatzBei = "";
|
||||
@@ -122,7 +153,7 @@ namespace BeWo.Service.SBD
|
||||
return result;
|
||||
}
|
||||
|
||||
private static IEnumerable<VertretungsItemDC> ErstelleVertretungsItemsForAbsenceEmployee(AbsenceTime absenceTime, Employee employee, Customer customer, List<Vertretung> vertretungen, DateTime start, DateTime end)
|
||||
private static IEnumerable<VertretungsItemDC> ErstelleVertretungsItemsForAbsenceEmployee(AbsenceTime absenceTime, Employee employee, Customer customer, List<Vertretung> vertretungen, DateTime start, DateTime end, List<ContactDC> customerContactInformation, List<ContactDC> employeeContactInformation, List<CustomerOrganisationRelationDC> schools)
|
||||
{
|
||||
var vertretungsItems = new List<VertretungsItemDC>();
|
||||
|
||||
@@ -137,17 +168,25 @@ namespace BeWo.Service.SBD
|
||||
{
|
||||
newVertretungsItem.Employee = MapperFactory.CompactEmployeeDC_Employee.MapToNewDC(employee);
|
||||
|
||||
var lastSubstitutions = DAOFactory.SearchDAO.GetLastSubstitutionItems(employee.Oid.Value, 3);
|
||||
|
||||
var lastSubstitutionDCs = MapperFactory.VertretungDC_Vertretung.MapToNewDCs(lastSubstitutions);
|
||||
|
||||
newVertretungsItem.LastSubstitutions = lastSubstitutionDCs;
|
||||
|
||||
AddArbeitszeitToVertretungsItem(newVertretungsItem, employee, dateTime);
|
||||
}
|
||||
|
||||
newVertretungsItem.Customer = MapperFactory.CompactCustomerDC_Customer.MapToNewDC(customer);
|
||||
SetzeSchule(newVertretungsItem, customer);
|
||||
|
||||
newVertretungsItem.CustomerContactInformation = customerContactInformation;
|
||||
newVertretungsItem.EmployeeContactInformation = employeeContactInformation;
|
||||
newVertretungsItem.Schools = schools;
|
||||
|
||||
if(customer != null && customer.Arbeitszeiten.Any())
|
||||
{
|
||||
// TODO: Betreuungszeit (Arbeitszeit) hinzufügen
|
||||
var betreuungszeiten =
|
||||
MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewDCs(customer.Arbeitszeiten);
|
||||
var betreuungszeiten = MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewDCs(customer.Arbeitszeiten);
|
||||
|
||||
var time = dateTime;
|
||||
var interval = betreuungszeiten.Where(w => w.GueltigVon.HasValue && w.GueltigBis.HasValue && time.InBetween(w.GueltigVon.Value, w.GueltigBis.Value, true)).ToList();
|
||||
@@ -231,12 +270,23 @@ namespace BeWo.Service.SBD
|
||||
break;
|
||||
}
|
||||
|
||||
if (absenceTime.EmployeeOid.HasValue) // MA krank
|
||||
newVertretungsItem.CustomerPflege = customer.Pflege ? "Ja" : "Nein";
|
||||
newVertretungsItem.CustomerToilettengang = customer.Toilettengang ? "Ja" : "Nein";
|
||||
newVertretungsItem.CustomerAggressivitaet = customer.Aggressiv ? "Ja" : "Nein";
|
||||
newVertretungsItem.CustomerHygienebelehrung = customer.Hygienebelehrung ? "Ja" : "Nein";
|
||||
newVertretungsItem.CustomerSchutzstufe = customer.Schutzstufe;
|
||||
|
||||
newVertretungsItem.EmployeePflege = employee == null ? "Nein" : employee.Pflege ? "Ja" : "Nein";
|
||||
newVertretungsItem.EmployeeToilettengang = employee == null ? "Nein" : employee.Toilettengang ? "Ja" : "Nein";
|
||||
newVertretungsItem.EmployeeAggressivitaet = employee == null ? "Nein" : employee.Aggressiv ? "Ja" : "Nein";
|
||||
newVertretungsItem.EmployeeHygienebelehrung = employee == null ? "Nein" : employee.Hygienebelehrung ? "Ja" : "Nein";
|
||||
newVertretungsItem.EmployeeSchutzstufe = employee?.Schutzstufe;
|
||||
|
||||
if (absenceTime.EmployeeOid.HasValue) // Mitarbeiter krank
|
||||
{
|
||||
newVertretungsItem.Pflege = customer.Pflege ? "Ja" : "Nein";
|
||||
newVertretungsItem.Toilettengang = customer.Toilettengang ? "Ja" : "Nein";
|
||||
newVertretungsItem.Aggressiv = customer.Aggressiv ? "Ja" : "Nein";
|
||||
|
||||
|
||||
if (customer.Person.Sex.HasValue)
|
||||
{
|
||||
|
||||
@@ -708,5 +708,9 @@ namespace BeWo.Service.ServiceContracts
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<CompactSupportConceptDC> LoadCompactSupportConceptsById(IEnumerable<long> pOids);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
List<ContactDC> LoadContactInformationForCustomer(long customerOid);
|
||||
}
|
||||
}
|
||||
@@ -830,10 +830,14 @@ namespace BeWo.Service.ServiceContracts
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
bool CheckForOverlappingSubstitutionEntries(DateTime startDate, DateTime endDate, long? employeeOid, long? customerOid);
|
||||
bool CheckForOverlappingSubstitutionEntries(DateTime startDate, DateTime endDate, long? employeeOid, long? customerOid, long? substitutionOid);
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
IList<HomeViewPanelDC> GetHomeViewPanels();
|
||||
|
||||
[FaultContract(typeof(BeWoFault))]
|
||||
[OperationContract]
|
||||
bool CheckForOverlappingAbsenceTimes(DateTime startDate, DateTime endDate, long? employeeOid, long? customerOid);
|
||||
}
|
||||
}
|
||||
@@ -4037,6 +4037,20 @@ namespace BeWo.Service.ServiceImplementations
|
||||
|
||||
DAOFactory.GenericDAO.Insert(addressHistoryEntry);
|
||||
}
|
||||
|
||||
public List<ContactDC> LoadContactInformationForCustomer(long customerOid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var customer = DAOFactory.GenericDAO.LoadByID<Customer>(customerOid);
|
||||
|
||||
return MapperFactory.ContactDC_Contact.MapToNewDCs(customer.Person.Contacts);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
throw Utils.CreateBeWoFaultException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal struct WohnheimbuchungsIntervallStruct
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -24,6 +24,7 @@
|
||||
Jahresbericht,
|
||||
Employee,
|
||||
Contract,
|
||||
NotizenKategorie
|
||||
NotizenKategorie,
|
||||
SBDCharacteristics
|
||||
}
|
||||
}
|
||||
@@ -76,5 +76,49 @@ namespace BS.Shared.DataContracts
|
||||
|
||||
[DataMember]
|
||||
public VertretungDC Vertretung { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public List<ContactDC> CustomerContactInformation { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public List<ContactDC> EmployeeContactInformation { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public List<CustomerOrganisationRelationDC> Schools { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public List<VertretungDC> LastSubstitutions { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string CustomerPflege { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string EmployeePflege { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string CustomerToilettengang { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string EmployeeToilettengang { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string CustomerAggressivitaet { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string EmployeeAggressivitaet { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string CustomerHygienebelehrung { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string EmployeeHygienebelehrung { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string CustomerSchutzstufe { get; set; }
|
||||
|
||||
[DataMember]
|
||||
public string EmployeeSchutzstufe { get; set; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -29,7 +29,7 @@ namespace BS.Shared.Extensions
|
||||
}
|
||||
else
|
||||
{
|
||||
pDictionary[pKey].Add(pValue);
|
||||
pDictionary[pKey].AddIfNotIn(pValue);
|
||||
}
|
||||
|
||||
return pDictionary;
|
||||
|
||||
Reference in New Issue
Block a user