update ChatSync und Weiteres mit SchulbegleitenderDienst und Chat BEnutzername und Passwort

This commit is contained in:
Waldi
2017-09-26 14:08:38 +02:00
parent 34b3f3c49f
commit 158ffaf870
44 changed files with 2369 additions and 1337 deletions

View File

@@ -208,7 +208,7 @@
IsReadOnly="True"
x:Name="popupedit_KlientVertretungSearch" Grid.Column="1" Grid.ColumnSpan="2" Margin="3" Height="23"
Grid.Row="0" DeleteButtonVisibility="Collapsed"
PopUpClick="Popupedit_KlientVertretungSearch_OnPopUpClick_popupedit_KlientVertretungSearch_PopUpClick"/>
PopUpClick="Popupedit_KlientVertretungSearch_OnPopUpClick"/>
<controls1:NullItemComboBox Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2" Margin="3" Height="23" x:Name="ComboBoxKlientVertretung"/>
@@ -625,6 +625,11 @@
<DataTrigger Binding="{Binding RowData.Row.VertretungMo}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.isCustomerKrank}" Value="True">
<Setter Property="Background" Value="Orange" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
@@ -655,6 +660,9 @@
<DataTrigger Binding="{Binding RowData.Row.VertretungDi}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.isCustomerKrank}" Value="True">
<Setter Property="Background" Value="Orange" />
</DataTrigger>
</Style.Triggers>
</Style>
@@ -686,6 +694,9 @@
<DataTrigger Binding="{Binding RowData.Row.VertretungMi}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.isCustomerKrank}" Value="True">
<Setter Property="Background" Value="Orange" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
@@ -716,6 +727,9 @@
<DataTrigger Binding="{Binding RowData.Row.VertretungDo}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.isCustomerKrank}" Value="True">
<Setter Property="Background" Value="Orange" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
@@ -746,6 +760,9 @@
<DataTrigger Binding="{Binding RowData.Row.VertretungFr}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.isCustomerKrank}" Value="True">
<Setter Property="Background" Value="Orange" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
@@ -776,6 +793,9 @@
<DataTrigger Binding="{Binding RowData.Row.VertretungSa}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.isCustomerKrank}" Value="True">
<Setter Property="Background" Value="Orange" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>

View File

@@ -241,6 +241,12 @@ namespace BeWo.SchulbegleitenderDienst
xyc.IsMitarbeiterKrank = true;
xyc.IsKunde = 2;
}
if (item.isCustomerKrank)
{
xyc.IsCustomerKrank = true;
xyc.IsKunde = 2;
}
_items.Add(xyc);
}
@@ -572,33 +578,75 @@ namespace BeWo.SchulbegleitenderDienst
switch (i)
{
case 0:
wwk.VertretungMo = item.Vertretung;
// wwk.EingesetztBeiMo = item.Kunde;
if (item.IsCustomerKrank)
{
wwk.isCustomerKrank = true;
}
else
{
wwk.VertretungMo = item.Vertretung;
}
// wwk.EingesetztBeiMo = item.Kunde;
wwk.Mo = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
break;
case 1:
wwk.VertretungDi = item.Vertretung;
// wwk.EingesetztBeiDi = item.Kunde;
case 1:
if (item.IsCustomerKrank)
{
wwk.isCustomerKrank = true;
}
else
{
wwk.VertretungDi = item.Vertretung;
}
// wwk.EingesetztBeiDi = item.Kunde;
wwk.Di = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
break;
case 2:
wwk.VertretungMi = item.Vertretung;
// wwk.EingesetztBeiMi = item.Kunde;
if (item.IsCustomerKrank)
{
wwk.isCustomerKrank = true;
}
else
{
wwk.VertretungMi = item.Vertretung;
}
// wwk.EingesetztBeiMi = item.Kunde;
wwk.Mi = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
break;
case 3:
wwk.VertretungDo = item.Vertretung;
// wwk.EingesetztBeiDo = item.Kunde;
if (item.IsCustomerKrank)
{
wwk.isCustomerKrank = true;
}
else
{
wwk.VertretungDo = item.Vertretung;
}
// wwk.EingesetztBeiDo = item.Kunde;
wwk.Do = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
break;
case 4:
wwk.VertretungFr = item.Vertretung;
// wwk.EingesetztBeiFr = item.Kunde;
if (item.IsCustomerKrank)
{
wwk.isCustomerKrank = true;
}
else
{
wwk.VertretungFr = item.Vertretung;
}
// wwk.EingesetztBeiFr = item.Kunde;
wwk.Fr = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
break;
case 5:
wwk.VertretungSa = item.Vertretung;
// wwk.EingesetztBeiSa = item.Kunde;
if (item.IsCustomerKrank)
{
wwk.isCustomerKrank = true;
}
else
{
wwk.VertretungSa = item.Vertretung;
}
// wwk.EingesetztBeiSa = item.Kunde;
wwk.Sa = WochenanzeigeHinzufügen(wochentagDt, item.Wochentagsarbeitszeit);
break;
}
@@ -612,6 +660,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungMo = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else {
@@ -624,6 +673,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungDi = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else {
@@ -636,6 +686,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungMi = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else
@@ -650,6 +701,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungDo = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else {
@@ -662,6 +714,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungFr = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else {
@@ -674,6 +727,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungSa = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else {
@@ -699,6 +753,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungMo = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else
@@ -712,6 +767,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungDi = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else
@@ -725,6 +781,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungMi = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else
@@ -738,6 +795,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungDo = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else
@@ -751,6 +809,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungFr = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else
@@ -764,6 +823,7 @@ namespace BeWo.SchulbegleitenderDienst
if (item.IsMitarbeiterKrank)
{
wwk.VertretungSa = " ";
//wwk.isCustomerKrank = true;
wwk.IsMitarbeiterKrank = true;
}
else
@@ -1172,7 +1232,7 @@ namespace BeWo.SchulbegleitenderDienst
}
//Ab hier muss noch am Inhalt bearbeitet werden
private void Popupedit_KlientVertretungSearch_OnPopUpClick_popupedit_KlientVertretungSearch_PopUpClick(object sender, RoutedEventArgs e)
private void Popupedit_KlientVertretungSearch_OnPopUpClick(object sender, RoutedEventArgs e)
{
KlientVertretungsearchview.ItemSelected +=KlientVertretungsearchview_KlientVertretungSelected;
popup_KlientVertretung.IsOpen = true;
@@ -2405,6 +2465,7 @@ namespace BeWo.SchulbegleitenderDienst
public bool IsMitarbeiterKrank { get; set; }
public bool IsCustomerKrank { get; set; }
}
public class Wochenansichten
@@ -2447,6 +2508,8 @@ namespace BeWo.SchulbegleitenderDienst
public bool IsMitarbeiterKrank { get; set; }
public bool isCustomerKrank { get; set; }
}

View File

@@ -149,7 +149,11 @@
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
@@ -159,17 +163,17 @@
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<CheckBox Grid.Column="2" Grid.Row="0" Content="ganztägig" Unchecked="KVCheckBox_OnUnchecked" Checked="KVCheckBox_OnChecked"
<CheckBox Grid.Column="6" Grid.Row="0" Content="ganztägig" Unchecked="KVCheckBox_OnUnchecked" Checked="KVCheckBox_OnChecked"
Grid.ColumnSpan="2" HorizontalAlignment="Right" x:Name="KVCheckBox" />
<Label Grid.Row="1" Grid.Column="0" Content="Vertretung ab" />
<Label Grid.Row="1" Grid.Column="0" Content="Vertretung ab" Margin="3"/>
<Label Grid.Row="2" Grid.Column="0" Content="Vertretung bis" />
<Label Grid.Row="2" Grid.Column="0" Content="Vertretung bis" Margin="3" />
<Label Grid.Row="1" Grid.Column="2" Content="Uhrzeit von" x:Name="KVLabelUhrzeitVon" />
<Label Grid.Row="1" Grid.Column="2" Content="Uhrzeit von" Margin="3" x:Name="KVLabelUhrzeitVon" />
<Label Grid.Row="2" Grid.Column="2" Content="Uhrzeit bis" x:Name="KVLabelUhrzeitBis" />
<Label Grid.Row="2" Grid.Column="2" Content="Uhrzeit bis" Margin="3" x:Name="KVLabelUhrzeitBis" />
<dxe:DateEdit x:Name="KVDatepickerVon" MaskType="DateTimeAdvancingCaret" Grid.Column="1" Grid.Row="1" Margin="3" Height="23" Width="125" EditValueChanged="KVDatepickerVon_OnEditValueChanged"/>
@@ -185,8 +189,16 @@
<dxe:TextEdit Grid.Column="3" Grid.Row="2" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" x:Name="KVDatepicker_UhrzeitBis"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor" Width="75"
Height="23" Grid.ColumnSpan="2" Visibility="Visible"
Margin="3,3,3,3"/>
Margin="3,3,3,3"/>
<Label x:Name="lblZuletztVertreten" Grid.Row="1" Grid.Column="5" Margin="3" Content="Zuletzt Vertreten" />
<ListBox Grid.Row="1" Grid.Column="6" Width="100" Grid.RowSpan="2" Margin="3" x:Name="LetzteVertreter" LostFocus="LetzteVertreter_OnLostFocus" SelectionChanged="LetzteVertreter_OnSelectionChanged" />
<!-- ##################### -->
</Grid>
</GroupBox>

View File

@@ -36,7 +36,9 @@ namespace BeWo.SchulbegleitenderDienst
private Dictionary<string, CompactTokenDC> verfuegbareA = new Dictionary<string, CompactTokenDC>();
private Dictionary<string, CompactTokenDC> gesetzteA = new Dictionary<string, CompactTokenDC>();
Dictionary<string, SearchViewDaten> letzteVertretungsListBox = new Dictionary<string, SearchViewDaten>();
public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate, long? klientOid)
{
InitializeComponent();
@@ -95,6 +97,12 @@ namespace BeWo.SchulbegleitenderDienst
SetKlientOrtAndPlz();
KVCheckBox.IsChecked = true;
//setze itemsource von allen Letzten Vertretern
SetzeLetzteVertreter();
}
private void RootGroupBox_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
@@ -139,6 +147,51 @@ namespace BeWo.SchulbegleitenderDienst
}
}
private void SetzeLetzteVertreter()
{
var lastemp = ServiceFacade.DoOperationsServiceSync(r => r.GetLastVertreter(_klientOid));
List<string> vert = new List<string>();
foreach (var emp in lastemp)
{
string arbeitszeitEintrag = "";
foreach (var artime in emp.Arbeitszeit)
{
foreach (var eintrag in artime.Eintraege)
{
if (_startDate != null && eintrag != null)
{
if ((int)_startDate.Value.DayOfWeek == (int)eintrag.Tag + 1)
{
arbeitszeitEintrag = eintrag.UhrzeitVon + " - " + eintrag.UhrzeitBis;
}
}
}
}
var geschlecht = emp.Geschlecht == Sex.Male ? "Männlich" : "Weiblich";
vert.Add(emp.FirstName + " " + emp.LastName);
letzteVertretungsListBox.Add(emp.FirstName + " " + emp.LastName, new SearchViewDaten(emp.FirstName + " " + emp.LastName, emp.PersonAdressPLZ, emp.PersonAdressStr, emp.PersonAdressStadt, arbeitszeitEintrag, emp, geschlecht));
}
if (_klientOid != null && letzteVertretungsListBox.Count > 0)
{
LetzteVertreter.ItemsSource = vert;
}
else
{
LetzteVertreter.Visibility = Visibility.Collapsed;
lblZuletztVertreten.Visibility = Visibility.Collapsed;
}
}
#region MitarbeiterSearch
private void OrdenerieThings()
@@ -876,6 +929,39 @@ namespace BeWo.SchulbegleitenderDienst
if (TokenComboboxAK.IsKeyboardFocusWithin)
TokenComboboxAK.IsPopupOpen = true;
}
#region Zuletzt Vertreten
private void LetzteVertreter_OnLostFocus(object sender, RoutedEventArgs e)
{
LetzteVertreter.SelectedIndex = -1;
}
private void LetzteVertreter_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selectedItems = LetzteVertreter.SelectedItem;
var items = (List<SearchViewDaten>)GridDataControlMitarbeiterVertretungsearchview.ItemsSource;
foreach (var vas in items)
{
foreach (var dic in letzteVertretungsListBox)
{
if (dic.Key.Equals(selectedItems))
{
if (vas.Name.Equals(dic.Value.Name))
{
GridDataControlMitarbeiterVertretungsearchview.SelectedItem = vas;
}
}
}
}
}
#endregion
}
public class CustomEventArgs : EventArgs

File diff suppressed because it is too large Load Diff

View File

@@ -23,15 +23,17 @@
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Grid.Column="0" Grid.Row="0" Content=" Code Generieren" Click="GenerateCodeClick" Margin="3" VerticalAlignment="Center" HorizontalAlignment="Left"
@@ -40,12 +42,18 @@
<TextBox Grid.Column="1" Grid.Row="0" Margin="3" Height="23" MinWidth="120" x:Name="GeneratetTexfield" IsReadOnly="True"/>
<Label x:Name="lblIsChatAktive" Grid.Column="0" Grid.Row="1" Content="Chat Aktivieren" />
<Label x:Name="lblIsChatAktive" Grid.Column="0" Grid.Row="1" Margin="3" Content="Chat Aktivieren" />
<CheckBox x:Name="ChatAktive" Grid.Column="1" Grid.Row="1" Margin="3" Height="23" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked"/>
<Label Grid.Row="2" Grid.Column="0" Content="Benutzer Name" Margin="3" />
<TextBox Grid.Row="2" Grid.Column="1" Margin="3" x:Name="TXTBenutzerName" KeyDown="TXTBenutzerName_OnKeyDown" LostFocus="TXTBenutzerName_OnLostFocus" />
<Label Grid.Row="3" Grid.Column="0" Content="Passwort" Margin="3" />
<TextBox Grid.Row="3" Grid.Column="1" Margin="3" x:Name="TXTPasswort" KeyDown="TXTPasswort_OnKeyDown" LostFocus="TXTPasswort_OnLostFocus" />
<!-- IsChecked="{Binding Path=IsChatAktiv, UpdateSourceTrigger=PropertyChanged}" -->
</Grid>

View File

@@ -23,6 +23,7 @@ using BS.Shared.Core;
using Microsoft.Win32;
using CheckBox = System.Windows.Controls.CheckBox;
using KeyEventArgs = System.Windows.Input.KeyEventArgs;
using MessageBox = System.Windows.MessageBox;
namespace BeWo.View
@@ -140,6 +141,13 @@ namespace BeWo.View
}
}
private void VerarbeiteBenuUndPass()
{
}
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
ServiceFacade.DoOperationsServiceSync(s => s.UpdateIsChatActiveCustomerAPPCodeDC(customerOid.Value, 1));
@@ -176,7 +184,51 @@ namespace BeWo.View
ChatAktive.SetCurrentValue(CheckBox.IsCheckedProperty, true);
}
if (getCustomerAppCode.Count > 0)
{
TXTBenutzerName.Text = getCustomerAppCode[getCustomerAppCode.Count - 1].Benutzername;
TXTPasswort.Text = getCustomerAppCode[getCustomerAppCode.Count - 1].Passwort;
}
}
#region Passwort
private void TXTPasswort_OnKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter) {
var passwort = TXTPasswort.Text;
//ServiceFacade.DoCustomerServiceSync(s => s.SetBenutzerPasswortChatAppCode(customeroid,benutzer, passwort));
}
}
private void TXTPasswort_OnLostFocus(object sender, RoutedEventArgs e)
{
var passwort = TXTPasswort.Text;
}
#endregion
#region BenutzerName
private void TXTBenutzerName_OnKeyDown(object sender, KeyEventArgs e)
{
if(e.Key == Key.Enter) {
var benutzerName = TXTBenutzerName.Text;
//Service aufruf vollführen
//ServiceFacade.DoCustomerServiceSync(r => r.);
}
}
private void TXTBenutzerName_OnLostFocus(object sender, RoutedEventArgs e)
{
var benutzerName = TXTBenutzerName.Text;
}
#endregion
}
}

View File

@@ -136,11 +136,10 @@ namespace BeWo.View.Detail
tabitem_schuldienst.Visibility = Visibility.Collapsed;
}
//CB EINKOMMENTIEREN
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ChatSettings))
//{
tabitem_chatservice.Visibility = Visibility.Collapsed;
//}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ChatSettings))
{
tabitem_chatservice.Visibility = Visibility.Collapsed;
}
comboBox_Nationalitaet.ItemsSource = pCustomerVM.Nationalitaeten;
comboBox_Aufenthalt.ItemsSource = pCustomerVM.AufenthaltsStatuse;
@@ -529,11 +528,11 @@ namespace BeWo.View.Detail
{
grid_EmployeeRelation.Columns["Role"].EditSettings = new ComboBoxEditSettings { ItemsSource = ViewModel.EmployeeRelations.PossibleRoles };
}
//CB EINKOMMENTIEREN
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ChatSettings))
//{
// grid_EmployeeRelation.Columns["Chatpartner"].Visible = false;
//}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ChatSettings))
{
grid_EmployeeRelation.Columns["Chatpartner"].Visible = false;
}
}
if (grid_TeamRelation == null)
@@ -1018,7 +1017,7 @@ namespace BeWo.View.Detail
{
if (tabitem_schuldienst.Content == null)
{
//tabitem_schuldienst.Content = new SchulbegleitenderDienst.SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.CustomerOid.Value,SchulbegleitenderZugehörigkeitsTyp.Klient);
tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.CustomerOid.Value,SchulbegleitenderZugehörigkeitsTyp.Klient);
}
}

View File

@@ -69,11 +69,11 @@ namespace BeWo.View.Detail
noticeGroup.Visibility = Visibility.Collapsed;
if (!extendedPropsVisible)
extendedPropertyGroup.Visibility = Visibility.Collapsed;
//CB EINKOMMENTIEREN
//if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ChatSettings))
//{
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.ChatSettings))
{
tabitem_chatservice.Visibility = Visibility.Collapsed;
//}
}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowEditContracts))

View File

@@ -3,7 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
xmlns:uc="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:controls1="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
@@ -13,6 +13,7 @@
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:shared="clr-namespace:BS.Shared;assembly=BS.Shared"
xmlns:search="clr-namespace:BeWo.View.Search"
VerticalAlignment="Stretch" Focusable="True">
<localView:BeWoView.Resources>
<Style x:Key="bargeldkassenListBoxItemStyle" TargetType="{x:Type ListBoxItem}">
@@ -171,37 +172,45 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="1" Margin="3" VerticalAlignment="Center">Klient</Label>
<Label Grid.Column="0" Grid.Row="0" Margin="3" VerticalAlignment="Center">Tag</Label>
<Label Grid.Column="0" Grid.Row="1" Margin="3" VerticalAlignment="Center">Uhrzeit von</Label>
<Label Grid.Column="0" Grid.Row="2" Margin="3" VerticalAlignment="Center">Uhrzeit bis</Label>
<Label Grid.Column="0" Grid.Row="3" Margin="3" VerticalAlignment="Top">Bemerkungen</Label>
<Label Grid.Column="0" Grid.Row="2" Margin="3" VerticalAlignment="Center">Uhrzeit von</Label>
<Label Grid.Column="0" Grid.Row="3" Margin="3" VerticalAlignment="Center">Uhrzeit bis</Label>
<Label Grid.Column="0" Grid.Row="4" Margin="3" VerticalAlignment="Top">Bemerkungen</Label>
<controls1:PopUpEdit Cursor="Arrow"
IsReadOnly="True"
x:Name="popupedit_KlientSearch" Grid.Column="1" Margin="3" Height="23"
Grid.Row="1" DeleteButtonVisibility="Collapsed"
PopUpClick="Popupedit_KlientVertretungSearch_OnPopUpClick" />
<dxe:ComboBoxEdit Grid.Column="1" Grid.Row="0" VerticalContentAlignment="Center" Margin="3" Height="23" ItemsSource="{Binding Source={StaticResource AppointmentDayOfWeeks}}"
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.Tag, UpdateSourceTrigger=PropertyChanged}"
Name="Tag" IsTextEditable="False"/>
<dxe:TextEdit Grid.Column="1" Grid.Row="1" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" Name="UhrzeitVon"
<dxe:TextEdit Grid.Column="1" Grid.Row="2" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" Name="UhrzeitVon"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.UhrzeitVon, UpdateSourceTrigger=PropertyChanged}"
Height="23"
Margin="3,3,3,3"/>
<dxe:TextEdit Grid.Column="1" Grid.Row="2" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" Name="UhrzeitBis"
<dxe:TextEdit Grid.Column="1" Grid.Row="3" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" Name="UhrzeitBis"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.UhrzeitBis, UpdateSourceTrigger=PropertyChanged}"
Height="23"
Margin="3,3,3,3"/>
<dxe:TextEdit Grid.Column="1" Grid.Row="3" Grid.RowSpan="2" Name="Notiz" Margin="3,3,3,3" TextWrapping="Wrap" AcceptsReturn="True" Width="250" Height="125" VerticalContentAlignment="Top" VerticalScrollBarVisibility="Auto"
<dxe:TextEdit Grid.Column="1" Grid.Row="4" Grid.RowSpan="2" Name="Notiz" Margin="3,3,3,3" TextWrapping="Wrap" AcceptsReturn="True" Width="250" Height="125" VerticalContentAlignment="Top" VerticalScrollBarVisibility="Auto"
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.Notice, UpdateSourceTrigger=PropertyChanged}"/>
<StackPanel Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="5" Orientation="Horizontal" HorizontalAlignment="Right">
<StackPanel Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Right">
<Button Click="PopupNewArbeitszeit_Click" Content="Hinzufügen" Height="25"
FontWeight="Normal" Margin="3" VerticalAlignment="Center" HorizontalAlignment="Right" />
<Button HorizontalAlignment="Right" VerticalAlignment="Center" Height="25"
@@ -247,8 +256,21 @@
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn Header="Klienten" FixedWidth="True" Width="220" FieldName="Klient" ReadOnly="True" >
<!--<dxg:GridColumn.CellTemplate>
<DataTemplate>
<controls1:PopUpEdit Cursor="Arrow"
IsReadOnly="True"
x:Name="popupedit_KlientSearchAnzeige" Margin="3" Height="23"
DeleteButtonVisibility="Collapsed"
PopUpClick="Popupedit_KlientVertretungSearchAnzeige_OnPopUpClick" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>-->
</dxg:GridColumn>
<dxg:GridColumn Header="Bemerkungen" FixedWidth="True" Width="500" FieldName="Notice"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView NavigationStyle="Cell" Margin="2,2,2,2" AutoWidth="True" ShowGroupPanel="False" ShowGroupedColumns="False" ShowTotalSummary="False" HorizontalContentAlignment="Left" />
@@ -265,6 +287,9 @@
</Grid>
</GroupBox>
</Grid>
<Popup 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>
</Grid>
</localView:BeWoView>

View File

@@ -12,16 +12,18 @@ using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Threading;
using BeWo.Controls;
using BeWo.Core;
using BeWo.ViewModel;
using BeWo.ServiceProxy;
using BeWo.Validation;
using BeWo.View.Controls;
using BeWo.View.Search;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts.Compact;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Grid;
using Microsoft.Win32;
@@ -90,6 +92,9 @@ namespace BeWo.View
if (avm != null)
{
if (currentKlient != null)
avm.ArbeitszeitEintraege.NewVM.CompactCustomer = currentKlient;
avm.ArbeitszeitEintraege.AddNewVMToList();
}
@@ -161,6 +166,59 @@ namespace BeWo.View
e.Handled = true;
}
#region Popup Klienten Anzeige Auswahl
private PopUpEdit letztesPopUpEdit = null;
private void Popupedit_KlientVertretungSearch_OnPopUpClick(object sender, RoutedEventArgs e)
{
KlientVertretungsearchview.ItemSelected += KlientVertretungsearchview_KlientVertretungSelected;
popup_KlientVertretung.IsOpen = true;
letztesPopUpEdit = sender as PopUpEdit;
}
private CompactCustomerDC currentKlient;
private void KlientVertretungsearchview_KlientVertretungSelected(object sender, EventArgs<CompactCustomerDC> e)
{
popup_KlientVertretung.IsOpen = false;
KlientVertretungsearchview.ItemSelected -= KlientVertretungsearchview_KlientVertretungSelected;
currentKlient = e.Data;
if (letztesPopUpEdit != null)
{
letztesPopUpEdit.Text = currentKlient.FullName;
}
letztesPopUpEdit = null;
}
#endregion
#region Popup Customer Anzeige Auswahl Für Editvalue | auskommentiert weil mega doof
//private PopUpEdit PopUpEditLetzteAnzeige = null;
//private void Popupedit_KlientVertretungSearchAnzeige_OnPopUpClick(object sender, RoutedEventArgs e)
//{
// KlientVertretungsearchview.ItemSelected += KlientVertretungsearchview_KlientSelected;
// popup_KlientVertretung.IsOpen = true;
// PopUpEditLetzteAnzeige = sender as PopUpEdit;
//}
//private void KlientVertretungsearchview_KlientSelected(object sender, EventArgs<CompactCustomerDC> e)
//{
// popup_KlientVertretung.IsOpen = false;
// KlientVertretungsearchview.ItemSelected -= KlientVertretungsearchview_KlientSelected;
// if (PopUpEditLetzteAnzeige != null)
// {
// PopUpEditLetzteAnzeige.Text = e.Data.FullName;
// }
// PopUpEditLetzteAnzeige = null;
//}
#endregion
}
public class WochentagComparerClass : IComparer<String>
{

View File

@@ -1299,7 +1299,6 @@ namespace BeWo.View
//####### Connection with Server ###########
//---------------------------------------------------------------------------------------------------------------------------
public ChatView ServiceChatView;
private void HyperlinkChat_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
@@ -1310,8 +1309,18 @@ namespace BeWo.View
//Cursor = Cursors.Wait;
//Hier die Anmelde Infos Vom User
string _kundennummer = BeWoApp.Tenant;
string _ChatCode = ""; //EmployeeAppCode Holen
string _benutzername = BeWoApp.UserName;
string _passwort = "";
#if DEBUG
Login _login = new Login("4368658435", "ZMCKb-BckTt", "RuppelW", "ABXT32wgtruppeldiedup");
#else
Login _login = new Login(_kundennummer, _ChatCode, _benutzername, _passwort);
#endif
var x = _login.AnmeldevorgangDurchFuehren();
if (x != null) {

View File

@@ -25,13 +25,14 @@
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
@@ -91,6 +92,39 @@
</Grid>
</GroupBox>
<GroupBox Header="Vertretungs-Einstellungen" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="2" Visibility="Collapsed" x:Name="VertretungsEinstellungen">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Content="Vertretung gewünscht?" Margin="3" Grid.Row="0" Grid.Column="0" />
<CheckBox x:Name="Vertretungswunsch" Margin="3" Grid.Row="0" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Checked="Vertretungswunsch_OnChecked" Unchecked="Vertretungswunsch_OnUnchecked"/>
<Label Content="Ab welchem Tag?" Margin="3" Grid.Row="1" Grid.Column="0" />
<dxe:SpinEdit x:Name="AbWelchenTagCBox" IsFloatValue="False" Increment="1" MinValue="0" Height="23" Margin="3" Grid.Row="1"
Grid.Column="1" AllowNullInput="True" Width="50" HorizontalAlignment="Right" VerticalContentAlignment="Center" EditValueChanged="AbWelchenTagCBox_OnEditValueChanged" />
<Label Content="Vertretung dringend erforderlich?" Margin="3" Grid.Row="2" Grid.Column="0" />
<CheckBox x:Name="VertretungErforderlich" Margin="3" Grid.Row="2" Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Center" Checked="VertretungErforderlich_OnChecked" Unchecked="VertretungErforderlich_OnUnchecked" />
</Grid>
</GroupBox>
</Grid>
</GroupBox>

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows;
using System.Windows.Controls.Primitives;
using System.Windows.Documents;
@@ -39,6 +40,10 @@ namespace BeWo.View
long? Oid = 0;
private SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp;
private int letzterTag;
private bool VErforderlich;
private bool VGewuenscht;
Dictionary<string, CompactTokenDC> verfuegbarerWunschToken = new Dictionary<string, CompactTokenDC>();
Dictionary<string, CompactTokenDC> verfuegbarerAusschlussToken = new Dictionary<string, CompactTokenDC>();
@@ -53,6 +58,42 @@ namespace BeWo.View
GetAllTokenItems();
if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Klient)
{
VertretungsEinstellungen.Visibility = Visibility.Visible;
List<long> customeroid = new List<long>();
if (oid != null)
{
customeroid.Add(oid.Value);
ServiceFacade.DoCustomerServiceAsync(r => r.GetActiveCustomersById(customeroid), p => this.Dispatch(
delegate
{
letzterTag = p[0].AbWelchemKrankheitsTag;
VErforderlich = p[0].VertretungDringendErforderlich;
VGewuenscht = p[0].VertretungGewuenscht;
AbWelchenTagCBox.EditValue = p[0].AbWelchemKrankheitsTag;
VertretungErforderlich.IsChecked = p[0].VertretungDringendErforderlich;
Vertretungswunsch.IsChecked = p[0].VertretungGewuenscht;
}));
}
else
{
AbWelchenTagCBox.EditValue = 0;
VertretungErforderlich.IsChecked = true;
Vertretungswunsch.IsChecked = true;
}
}
}
@@ -210,5 +251,70 @@ namespace BeWo.View
if (ComboAusschlussAnzeige.IsKeyboardFocusWithin)
ComboAusschlussAnzeige.IsPopupOpen = true;
}
private void UIElement_OnPreviewTextInput(object sender, TextCompositionEventArgs e)
{
Regex regex = new Regex("[^0-9]+");
e.Handled = regex.IsMatch(e.Text);
}
#region VertrtungsEinstellungs Handler
private void AbWelchenTagCBox_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
{
if (AbWelchenTagCBox.Value != letzterTag)
{
//So ServiceFacade set AbWelchen krankheitstagen
if(Oid != null)
ServiceFacade.DoCustomerServiceSync(r => r.SetAbWelchenKrankheitsTag(Oid.Value, (int)AbWelchenTagCBox.Value));
}
}
private void Vertretungswunsch_OnChecked(object sender, RoutedEventArgs e)
{
if (VGewuenscht != true)
{
if (Oid != null)
ServiceFacade.DoCustomerServiceSync(r => r.SetVertretungGewuenscht(Oid.Value, true));
VGewuenscht = true;
}
}
private void Vertretungswunsch_OnUnchecked(object sender, RoutedEventArgs e)
{
if (VGewuenscht != false)
{
if (Oid != null)
ServiceFacade.DoCustomerServiceSync(r => r.SetVertretungGewuenscht(Oid.Value, false));
VGewuenscht = false;
}
}
private void VertretungErforderlich_OnChecked(object sender, RoutedEventArgs e)
{
if (VErforderlich != true)
{
if (Oid != null)
ServiceFacade.DoCustomerServiceSync(r => r.SetVertretungDringendErforderlich(Oid.Value, true));
VErforderlich = true;
}
}
private void VertretungErforderlich_OnUnchecked(object sender, RoutedEventArgs e)
{
if (VErforderlich != false)
{
if (Oid != null)
ServiceFacade.DoCustomerServiceSync(r => r.SetVertretungDringendErforderlich(Oid.Value, false));
VErforderlich = false;
}
}
#endregion
}
}

View File

@@ -1,7 +1,10 @@
using BS.Shared;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using BeWo.ServiceProxy;
using BeWo.Validation;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
namespace BeWo.ViewModel
@@ -16,6 +19,10 @@ namespace BeWo.ViewModel
public static string PropertyName_Notice = "Notice";
public static string PropertyName_Klient = "Klient";
public static string PropertyName_CompactCustomer = "CompactCustomer";
private string _UhrzeitVon;
private string _UhrzeitBis;
@@ -24,6 +31,10 @@ namespace BeWo.ViewModel
private string _Notice;
private string _Klient;
private CompactCustomerDC _CompactCustomer;
public ArbeitszeitEintragVM(ArbeitszeitEintragDC pDC)
: base(pDC, pDC.ArbeitszeitEintragOid == null)
@@ -93,6 +104,40 @@ namespace BeWo.ViewModel
}
}
public string Klient
{
get { return _Klient; }
set
{
if (AreDifferent(_Klient, value))
{
_Notice = value;
//StoreDirtyInformation(AreDifferent(DataContract.Klient, value), PropertyName_Klient);
FirePropertyChanged(PropertyName_Klient);
}
}
}
public CompactCustomerDC CompactCustomer
{
get { return _CompactCustomer; }
set
{
if (AreDifferent(_CompactCustomer, value))
{
_CompactCustomer = value;
StoreDirtyInformation(AreDifferent(DataContract.CustomerOid, value.CustomerOid),
PropertyName_CompactCustomer);
FirePropertyChanged(PropertyName_CompactCustomer);
this._Klient = value.FullName;
FirePropertyChanged(PropertyName_Klient);
}
}
}
protected override void InitByDataContract(ArbeitszeitEintragDC pDataContract)
{
@@ -100,7 +145,20 @@ namespace BeWo.ViewModel
this._UhrzeitVon = pDataContract.UhrzeitVon;
this._UhrzeitBis = pDataContract.UhrzeitBis;
this._Notice = pDataContract.Notice;
if (pDataContract.CustomerOid != null)
{
var kli = ServiceFacade.DoCustomerServiceSync(r => r.GetAllActiveCompactCustomers());
foreach (var customer in kli)
{
if (customer.CustomerOid == pDataContract.CustomerOid.Value)
{
this._Klient = customer.FullName;
this._CompactCustomer = customer;
}
}
}
}
protected override ArbeitszeitEintragDC MapToDataContract(ArbeitszeitEintragDC pDataContract, bool doCommit)
@@ -109,7 +167,9 @@ namespace BeWo.ViewModel
pDataContract.UhrzeitBis = _UhrzeitBis;
pDataContract.Tag = _Tag;
pDataContract.Notice = _Notice;
if(_CompactCustomer != null)
pDataContract.CustomerOid = _CompactCustomer.CustomerOid;
return pDataContract;
}

View File

@@ -2,8 +2,10 @@ using BS.Shared;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using BeWo.ServiceProxy;
using BeWo.Validation;
using BeWo.ViewModel.ListViewModel;
using BS.Shared.DataContracts.Compact;
namespace BeWo.ViewModel
{
@@ -19,6 +21,10 @@ namespace BeWo.ViewModel
public static string PropertyName_ArbeitszeitString = "ArbeitszeitString";
public static string PropertyName_CompactCustomer = "CompactCustomer";
public static string PropertyName_Klient = "Klient";
private DateTime? _GueltigVon;
private DateTime? _GueltigBis;
@@ -27,6 +33,9 @@ namespace BeWo.ViewModel
private ArbeitszeitEintragListVM _ArbeitszeitEintraege;
private string _Klient;
public ArbeitszeitVM(ArbeitszeitDC pDC)
: base(pDC, pDC.ArbeitszeitOid == null)
@@ -135,13 +144,13 @@ namespace BeWo.ViewModel
FirePropertyChanged(PropertyName_ArbeitszeitEintragListeVM);
}
}
protected override void InitByDataContract(ArbeitszeitDC pDataContract)
{
this._GueltigBis = pDataContract.GueltigBis;
this._GueltigVon = pDataContract.GueltigVon;
this._Notice = pDataContract.Notice;
ArbeitszeitEintraege = VMFactory.CreateArbeitszeitEintragListVm(pDataContract.Eintraege ?? (pDataContract.Eintraege = new List<ArbeitszeitEintragDC>()));
}
@@ -153,7 +162,7 @@ namespace BeWo.ViewModel
pDataContract.Notice = _Notice;
pDataContract.Eintraege = _ArbeitszeitEintraege.CopyToDCList(doCommit);
return pDataContract;
}
}

View File

@@ -12,6 +12,10 @@ namespace BeWo.ViewModel
public static string PropertyName_IsChatAktive = "IsChatAktive";
public static string PropertyName_BenutzerName = "Benutzername";
public static string PropertyName_Passwort = "Passwort";
private string _CustomerCode;
private DateTime _CustomerCodeGenDate;
@@ -20,6 +24,9 @@ namespace BeWo.ViewModel
private int _IsChatAktive;
private string _BenutzerName;
private string _Passwort;
public CustomerAPPCodeVM(CustomerAPPCodeDC pDC)
: base(pDC, true)
@@ -40,6 +47,32 @@ namespace BeWo.ViewModel
}
}
public virtual string BenutzerName
{
get { return this._BenutzerName; }
set
{
if (this.AreDifferent(this._BenutzerName, value))
{
this._BenutzerName = value;
}
}
}
public virtual string Passwort
{
get { return this._Passwort; }
set
{
if (this.AreDifferent(this._Passwort, value))
{
this._Passwort = value;
}
}
}
public DateTime CustomerCodeGenDate
{
get { return this._CustomerCodeGenDate; }
@@ -93,6 +126,8 @@ namespace BeWo.ViewModel
this._CustomerCodeGenDate = pDataContract.CustomerCodeGenDate;
this._CustomerOid = pDataContract.CustomerOid;
this._IsChatAktive = pDataContract.IsChatAktive;
this._BenutzerName = pDataContract.Benutzername;
this._Passwort = pDataContract.Passwort;
}
protected override CustomerAPPCodeDC MapToDataContract(CustomerAPPCodeDC pDataContract, bool doCommit)
@@ -100,8 +135,10 @@ namespace BeWo.ViewModel
pDataContract.CustomerCode = _CustomerCode;
pDataContract.CustomerCodeGenDate = _CustomerCodeGenDate;
pDataContract.CustomerOid = _CustomerOid;
pDataContract.IsChatAktive = _IsChatAktive;
pDataContract.IsChatAktive = _IsChatAktive;
pDataContract.Benutzername = _BenutzerName;
pDataContract.Passwort = _Passwort;
return pDataContract;
}
}

View File

@@ -102,6 +102,9 @@ namespace BeWo.ViewModel
public static string PropertyName_CustomerImage = "CustomerImage";
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 = "VertretungDringendErforderlich";
#endregion
private readonly ObservableSortCollection<ValueListEntryDC> _PossibleCustomerCareTypes;
@@ -181,6 +184,10 @@ namespace BeWo.ViewModel
private string _CustomerAlias;
private Pflegegrad? _Pflegegrad;
private byte[] _CustomerImage;
private bool _VertretungGewuenscht;
private int _AbWelchemKrankheitsTag;
private bool _VertretungDringendErforderlich;
private ValueListEntryDC _Nationalitaet;
private ObservableSortCollection<ValueListEntryDC> _Nationalitaeten;
@@ -1421,10 +1428,55 @@ namespace BeWo.ViewModel
_EnableLogging = enable;
_Log = log;
}
public bool VertretungGewuenscht
{
get { return _VertretungGewuenscht; }
set
{
if (AreDifferent(_VertretungGewuenscht, value))
{
_VertretungGewuenscht = value;
StoreDirtyInformation(AreDifferent(DataContract.VertretungGewuenscht, value), PropertyName_VertretungGewuenscht);
FirePropertyChanged(PropertyName_VertretungGewuenscht);
}
}
}
public int AbWelchemKrankheitsTag
{
get { return _AbWelchemKrankheitsTag; }
set
{
if (AreDifferent(_AbWelchemKrankheitsTag, value))
{
_AbWelchemKrankheitsTag = value;
StoreDirtyInformation(AreDifferent(DataContract.AbWelchemKrankheitsTag, value), PropertyName_AbWelchemKrankheitsTag);
FirePropertyChanged(PropertyName_AbWelchemKrankheitsTag);
}
}
}
#region Medikamentenverordnungslisten
private MedikamentenverordnungslisteListVM _MedVerordnungslisten;
public bool VertretungDringendErforderlich
{
get { return _VertretungDringendErforderlich ; }
set
{
if (AreDifferent(_VertretungDringendErforderlich, value))
{
_VertretungGewuenscht = value;
StoreDirtyInformation(AreDifferent(DataContract.VertretungDringendErforderlich, value), PropertyName_VertretungDringendErforderlich);
FirePropertyChanged(PropertyName_VertretungDringendErforderlich);
}
}
}
#region Medikamentenverordnungslisten
private MedikamentenverordnungslisteListVM _MedVerordnungslisten;
public MedikamentenverordnungslisteListVM MedVerordnungslisten
{
@@ -1535,6 +1587,9 @@ namespace BeWo.ViewModel
_Pflegegrad = pDataContract.Pflegegrad;
_Nationalitaet = pDataContract.Nationalitaet;
_AufenthaltsStatus = pDataContract.AufenthaltsStatus;
_VertretungGewuenscht = pDataContract.VertretungGewuenscht;
_AbWelchemKrankheitsTag = pDataContract.AbWelchemKrankheitsTag;
_VertretungDringendErforderlich = pDataContract.VertretungDringendErforderlich;
if (pDataContract.Images != null && pDataContract.Images.Count > 0)
@@ -1698,7 +1753,9 @@ namespace BeWo.ViewModel
pDataContract.GradDerBehinderung = _GradDerBehinderung;
pDataContract.Nationalitaet = _Nationalitaet;
pDataContract.AufenthaltsStatus = _AufenthaltsStatus;
pDataContract.VertretungGewuenscht = _VertretungGewuenscht;
pDataContract.AbWelchemKrankheitsTag = _AbWelchemKrankheitsTag;
pDataContract.VertretungDringendErforderlich = _VertretungDringendErforderlich;
if (_MerkzeichenListe != null)
{

View File

@@ -355,28 +355,28 @@ namespace BeWoPlanerMobil.Controllers
//Falls typ nicht stimmt
System.Threading.Thread.Sleep(5000);
return Json("1", JsonRequestBehavior.AllowGet);
return Json(new Fehler("1"), JsonRequestBehavior.AllowGet);
}
#endregion
//fallsa typ nicht vorhanden
System.Threading.Thread.Sleep(5000);
return Json("1", JsonRequestBehavior.AllowGet);
return Json(new Fehler("1"), JsonRequestBehavior.AllowGet);
}
else
{
//gib json zurück {"STATE":1}
System.Threading.Thread.Sleep(5000);
return Json("1", JsonRequestBehavior.AllowGet);
return Json(new Fehler("1"), JsonRequestBehavior.AllowGet);
}
}
else
{
//gib json zurück {"STATE":99}
return Json("99", JsonRequestBehavior.AllowGet);
return Json(new Fehler("99"), JsonRequestBehavior.AllowGet);
}
return Json("99", JsonRequestBehavior.AllowGet);
return Json(new Fehler("99"), JsonRequestBehavior.AllowGet);
}
[System.Web.Mvc.HttpPost]
@@ -390,7 +390,7 @@ namespace BeWoPlanerMobil.Controllers
else
{
System.Threading.Thread.Sleep(5000);
return Json("1", JsonRequestBehavior.AllowGet);
return Json(new Fehler("1"), JsonRequestBehavior.AllowGet);
}
}
@@ -543,7 +543,17 @@ namespace BeWoPlanerMobil.Controllers
}
}
#endregion
#endregion
#region fehlermeldung
public class Fehler
{
public string STATE { get; set; }
public Fehler(string fehler)
{
STATE = fehler;
}
}
#endregion
}

View File

@@ -11,7 +11,7 @@ namespace BeWo.Data.Entities
public static string PropertyName_GueltigBis = "GueltigBis";
public static string PropertyName_EmployeeOid = "EmployeeOid";
public static string PropertyName_ArbeitsZeiteintragListe = "ArbeitszeitEintraege";
private DateTime? _GueltigVon;
@@ -84,5 +84,6 @@ namespace BeWo.Data.Entities
}
}
}
}
}

View File

@@ -13,6 +13,8 @@ namespace BeWo.Data.Entities
public static string PropertyName_ArbeitszeitOid = "ArbeitszeitOid";
public static string PropertyName_Klient = "Klient";
private string _UhrzeitVon;
private string _UhrzeitBis;
@@ -21,6 +23,8 @@ namespace BeWo.Data.Entities
private long? _ArbeitszeitOid;
private long? _CustomerOid;
public virtual string UhrzeitVon
{
@@ -54,6 +58,22 @@ namespace BeWo.Data.Entities
}
}
public virtual long? CustomerOid
{
get
{
return this._CustomerOid;
}
set
{
if (this.AreDifferent(this._CustomerOid, value))
{
this._CustomerOid = value;
}
}
}
public virtual AppointmentDayOfWeek Tag
{

View File

@@ -51,7 +51,10 @@ namespace BeWo.Data.Entities
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_AufenthaltsStatus = "AufenthaltsStatus";
public static string PropertyName_VertretungGewuenscht = "VertretungGewuenscht";
public static string PropertyName_AbWelchemKrankheitsTag = "AbWelchemKrankheitsTag ";
public static string PropertyName_VertretungDringendErforderlich = "VertretungGewuenscht";
private Auszahlungsintervall _Auszahlungsintervall;
@@ -95,8 +98,11 @@ namespace BeWo.Data.Entities
private IList<Merkzeichen> _MerkzeichenListe;
private IList<Behinderungsart> _BehinderungsartenListe;
private string _CustomerAlias;
private Pflegegrad? _Pflegegrad;
private Pflegegrad? _Pflegegrad;
private bool _VertretungGewuenscht;
private int _AbWelchemKrankheitsTag;
private bool _VertretungDringendErforderlich;
public Customer()
{
@@ -648,6 +654,45 @@ namespace BeWo.Data.Entities
}
}
}
public virtual bool VertretungGewuenscht
{
get { return _VertretungGewuenscht; }
set
{
if (AreDifferent(_VertretungGewuenscht, value))
{
_VertretungGewuenscht = value;
}
}
}
public virtual bool VertretungDringendErforderlich
{
get { return _VertretungDringendErforderlich; }
set
{
if (AreDifferent(_VertretungDringendErforderlich, value))
{
_VertretungDringendErforderlich = value;
}
}
}
public virtual int AbWelchemKrankheitsTag
{
get { return _AbWelchemKrankheitsTag;}
set
{
if (AreDifferent(_AbWelchemKrankheitsTag, value))
{
_AbWelchemKrankheitsTag = value;
}
}
}
}
}

View File

@@ -14,6 +14,10 @@ namespace BeWo.Data.Entities
public static string PropertyName_CustomerOid = "CustomerOid";
public static string PropertyName_Benutzername = "BenutzerName";
public static string PropertyName_Passwort = "Passwort";
private string _CustomerCode;
private DateTime _CustomerCodeGenDate;
@@ -22,6 +26,9 @@ namespace BeWo.Data.Entities
private int _IsChatAktiv;
private string _BenutzerName;
private string _Passwort;
public virtual string CustomerCode
{
@@ -87,5 +94,37 @@ namespace BeWo.Data.Entities
}
}
public virtual string BenutzerName
{
get
{
return _BenutzerName;
}
set
{
if (this.AreDifferent(this._BenutzerName, value))
{
this._BenutzerName = value;
}
}
}
public virtual string Passwort
{
get
{
return _Passwort;
}
set
{
if (this.AreDifferent(this._Passwort, value))
{
this._Passwort = value;
}
}
}
}
}

View File

@@ -18,6 +18,7 @@
<property name="GueltigVon" column="GueltigVon" />
<property name="GueltigBis" column="GueltigBis" />
<bag name="ArbeitszeitEintraege" table="ArbeitszeitEintrag" generic="true" cascade="all-delete-orphan">
<key column="ArbeitszeitOid" />

View File

@@ -21,6 +21,7 @@
<property name="UhrzeitVon" column="UhrzeitVon" />
<property name="UhrzeitBis" column="UhrzeitBis" />
<property name="CustomerOid" column="CustomerOid" />

View File

@@ -42,6 +42,11 @@
<property column="Pflegegrad" type="BS.Shared.Pflegegrad, BS.Shared" name="Pflegegrad" />
<property column="VertretungGewuenscht" type="Boolean" name="VertretungGewuenscht" />
<property column="AbWelchemKrankheitsTag" type="Int32" name="AbWelchemKrankheitsTag" />
<property column="VertretungDringendErforderlich" type="Boolean" name="VertretungDringendErforderlich" />
<bag name="MerkzeichenListe" table="merkzeichen2customer" generic="true" cascade="all" batch-size="250" lazy="false">
<key column="CustomerOid" />
<element column="Merkzeichen" type="BS.Shared.Merkzeichen, BS.Shared" />

View File

@@ -17,5 +17,7 @@
<property name="CustomerCode" column="CustomerCode" />
<property name="CustomerCodeGenDate" column="CustomerCodeGenDate" />
<property name="IsChatAktiv" column="IsChatActive" />
<property name="BenutzerName" column="BenutzerName" />
<property name="Passwort" column="Passwort" />
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,23 @@
ALTER TABLE `1234567890`.`customer`
ADD COLUMN `VertretungGewuenscht` TINYINT(4) NULL DEFAULT 1 COMMENT '' AFTER `AufenthaltsStatusValueListEntryOid`,
ADD COLUMN `AbWelchemKrankheitsTag` INT(10) NULL DEFAULT 0 COMMENT '' AFTER `VertretungGewuenscht`,
ADD COLUMN `VertretungDringendErforderlich` TINYINT(4) NULL DEFAULT 1 COMMENT '' AFTER `AbWelchenKrankheitsTag`;
ALTER TABLE `1234567890`.`arbeitszeiteintrag`
ADD COLUMN `CustomerOid` BIGINT(19) NULL DEFAULT NULL COMMENT '' AFTER `UhrzeitBis`;
ALTER TABLE `1234567890`.`customerappcode`
ADD COLUMN `BenutzerName` VARCHAR(1024) NULL DEFAULT NULL COMMENT '' AFTER `IsChatActive`,
ADD COLUMN `Passwort` VARCHAR(1024) NULL DEFAULT NULL COMMENT '' AFTER `BenutzerName`;

View File

@@ -15,7 +15,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.GueltigVon = pEntity.GueltigVon;
pDataContract.GueltigBis = pEntity.GueltigBis;
pDataContract.Notice = pEntity.Notice;
if (pEntity.ArbeitszeitEintraege != null)
{
pDataContract.Eintraege =
@@ -33,7 +33,6 @@ namespace BeWo.Service.DCEntityMapper
pEntity.Notice = pDataContract.Notice;
pEntity.Oid = pDataContract.ArbeitszeitOid;
MapperFactory.ArbeitszeitEintragDC_ArbeitszeitEintrag.MergeWithEntitys(pDataContract.Eintraege, pEntity.ArbeitszeitEintraege);
return pEntity;

View File

@@ -15,6 +15,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.UhrzeitVon = pEntity.UhrzeitVon;
pDataContract.UhrzeitBis = pEntity.UhrzeitBis;
pDataContract.Notice = pEntity.Notice;
pDataContract.CustomerOid = pEntity.CustomerOid;
return pDataContract;
}
@@ -27,6 +28,7 @@ namespace BeWo.Service.DCEntityMapper
pEntity.UhrzeitBis = pDataContract.UhrzeitBis;
pEntity.Notice = pDataContract.Notice;
pEntity.Oid = pDataContract.ArbeitszeitEintragOid;
pEntity.CustomerOid = pDataContract.CustomerOid;
return pEntity;
}

View File

@@ -9,11 +9,13 @@ namespace BeWo.Service.DCEntityMapper
{
public override CustomerAPPCodeDC MergeWithDC(CustomerAPPCode pEntity, CustomerAPPCodeDC pDataContract)
{
pDataContract.CustomerOid = pEntity.CustomerOid;
pDataContract.CustomerCodeGenDate = pEntity.CustomerCodeGenDate;
pDataContract.CustomerCode = pEntity.CustomerCode;
pDataContract.IsChatAktive = pEntity.IsChatAktiv;
pDataContract.Benutzername = pEntity.BenutzerName;
pDataContract.Passwort = pEntity.Passwort;
return pDataContract;
}
@@ -24,13 +26,15 @@ namespace BeWo.Service.DCEntityMapper
pEntity.CustomerCodeGenDate = pDataContract.CustomerCodeGenDate;
pEntity.CustomerCode = pDataContract.CustomerCode;
pEntity.IsChatAktiv = pDataContract.IsChatAktive;
pEntity.BenutzerName = pDataContract.Benutzername;
pEntity.Passwort = pDataContract.Passwort;
return pEntity;
}
protected override bool AreDCAndEntityEqual(CustomerAPPCodeDC pDC, CustomerAPPCode pEntity)
{
if (pDC.CustomerAppCodeOid == null)
{
return false;

View File

@@ -68,6 +68,9 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.BeiblattGueltigBis = pEntity.BeiblattGueltigBis;
pDataContract.GradDerBehinderung = pEntity.GradDerBehinderung;
pDataContract.Pflegegrad = pEntity.Pflegegrad;
pDataContract.VertretungGewuenscht = pEntity.VertretungGewuenscht;
pDataContract.AbWelchemKrankheitsTag = pEntity.AbWelchemKrankheitsTag;
pDataContract.VertretungDringendErforderlich = pEntity.VertretungDringendErforderlich;
if (pEntity.BehinderungsartenListe != null)
{
@@ -180,6 +183,9 @@ namespace BeWo.Service.DCEntityMapper
pEntity.BehinderungsartenListe = pDataContract.BehinderungsartenListe;
pEntity.MerkzeichenListe = pDataContract.MerkzeichenListe;
pEntity.Pflegegrad = pDataContract.Pflegegrad;
pEntity.VertretungGewuenscht = pDataContract.VertretungGewuenscht;
pEntity.AbWelchemKrankheitsTag = pDataContract.AbWelchemKrankheitsTag;
pEntity.VertretungDringendErforderlich = pDataContract.VertretungDringendErforderlich;
if (pDataContract.TerminationReason == null)
{

View File

@@ -557,6 +557,8 @@ namespace BeWo.Service.SBD.Vertretung
}
}
//item.isCustomerKrank = true;
AddArbeitszeitToItem(item, item.EmployeeOid, 2);
//Abfragen ob Employee vorhanden
@@ -662,6 +664,7 @@ namespace BeWo.Service.SBD.Vertretung
item.EmployeeName = emp.FirstName + " " + emp.LastName;
item.isMitarbeiterKrank = true;
AddArbeitszeitToItem(item, emp.EmployeeOid, 2);
item.isCustomerKrank = true;
}
}

View File

@@ -661,5 +661,24 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
void UpdateQuittierungsCheckWithCustomer(long oid, long loggedinUserOid, DateTime monat);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void SetAbWelchenKrankheitsTag(long pCustomerOid, int abWelcherKt);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void SetVertretungGewuenscht(long pCustomerOid, bool vertWunsch);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void SetVertretungDringendErforderlich(long pCustomerOid, bool vertDringendEr);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<CompactCustomerDC> GetActiveCompactCustomerEmployeeRelationsByEmployeeId(long empOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void SetBenutzerPasswortChatAppCode(long pCustomerOid, string benutzerName, string passwort);
}
}

View File

@@ -687,5 +687,9 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
void DoTokenAusschlussOperation(int art, long? Oid, SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp,
Dictionary<string, CompactTokenDC> verfuegbarerAusschlussToken, string token);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<CompactVertreterEmployeeDC> GetLastVertreter(long? klientenOid);
}
}

View File

@@ -3604,6 +3604,108 @@ namespace BeWo.Service.ServiceImplementations
}
}
public void SetAbWelchenKrankheitsTag(long pCustomerOid, int abWelcherKt)
{
try
{
var customer = DAOFactory.GenericDAO.GetByID<Customer>(pCustomerOid);
customer.AbWelchemKrankheitsTag = abWelcherKt;
DAOFactory.GenericDAO.Update(customer);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void SetVertretungGewuenscht(long pCustomerOid, bool vertWunsch)
{
try
{
var customer = DAOFactory.GenericDAO.GetByID<Customer>(pCustomerOid);
customer.VertretungGewuenscht = vertWunsch;
DAOFactory.GenericDAO.Insert(customer);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void SetVertretungDringendErforderlich(long pCustomerOid, bool vertDringendEr)
{
try
{
var customer = DAOFactory.GenericDAO.GetByID<Customer>(pCustomerOid);
customer.VertretungDringendErforderlich = vertDringendEr;
DAOFactory.GenericDAO.Insert(customer);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<CompactCustomerDC> GetActiveCompactCustomerEmployeeRelationsByEmployeeId(long empOid)
{
try
{
var x = DAOFactory.GenericDAO.GetAllActive<Customer>();
List<Customer> cuList =new List<Customer>();
foreach (var cus in x)
{
foreach (var emp in cus.Employee2CustomerList)
{
if (emp.EmployeeOid == empOid)
{
cuList.Add(cus);
}
}
}
return MapperFactory.CompactCustomerDC_Customer.MapToNewDCs(cuList);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
//vorrübergehend
public void SetBenutzerPasswortChatAppCode(long pCustomerOid, string benutzerName, string passwort )
{
try
{
var cusappcode = DAOFactory.SearchDAO.FindAllCustomerAppCodes(pCustomerOid);
foreach (var appcode in cusappcode)
{
if(!benutzerName.Equals("") && !appcode.BenutzerName.Equals(benutzerName)) {
appcode.BenutzerName = benutzerName;
}
if (!passwort.Equals("") && !appcode.Passwort.Equals(passwort)) {
appcode.Passwort = passwort;
}
}
DAOFactory.GenericDAO.Update(cusappcode);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
}

View File

@@ -3762,6 +3762,49 @@ namespace BeWo.Service.ServiceImplementations
}
public List<CompactVertreterEmployeeDC> GetLastVertreter(long? klientenOid)
{
try
{
List<Vertretung> vlist = new List<Vertretung>();
var vertreter = DAOFactory.GenericDAO.GetAllActive<Vertretung>();
foreach (var vert in vertreter)
{
if (vert.CustomerOid == klientenOid)
{
vlist.Add(vert);
}
}
List<long> emOidList = new List<long>();
foreach (var empoid in vlist)
{
if (empoid.VertretenderMitarbeiterOid.HasValue)
{
emOidList.Add(empoid.VertretenderMitarbeiterOid.Value);
}
}
var employee = DAOFactory.GenericDAO.GetActiveByIDs<Employee>(emOidList);
var x = MapperFactory.CompactVertreterEmployeeDC_VertreterEmployee.MapToNewDCs(employee);
//var x = MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(employee);
return x;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
//Token Bereich für Token
public List<CompactTokenDC> GetAllTokens(SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, long? oid)
{

View File

@@ -472,7 +472,7 @@ namespace BS.Shared
//MedRecordsAendern = 27002,
//MedRecordsLoeschen = 27003,
//ChatSettings = 28000
ChatSettings = 28000,
VertretungenView_View = 30000,

View File

@@ -561,7 +561,7 @@ namespace BS.Shared.Core
},
{
UserRightType.VertretungenView_View, "Vertretungen verwalten"
}
},
//,
// {
@@ -576,9 +576,9 @@ namespace BS.Shared.Core
// {
// UserRightType.MedRecordsLoeschen, "Bedarfsmedikation löschen"
// },
// {
// UserRightType.ChatSettings, "Chat Einstellungen"
// }
{
UserRightType.ChatSettings, "Chat Einstellungen"
}
,
{
UserRightType.CustomerTeam_View, "Kliententeams ansehen"

View File

@@ -25,6 +25,5 @@ namespace BS.Shared.DataContracts
[DataMember]
public List<ArbeitszeitEintragDC> Eintraege { get; set; }
}
}

View File

@@ -24,7 +24,9 @@ namespace BS.Shared.DataContracts
[DataMember]
public string Notice { get; set; }
[DataMember]
public long? CustomerOid { get; set; }
}
}

View File

@@ -23,5 +23,11 @@ namespace BS.Shared.DataContracts
[DataMember]
public int IsChatAktive { get; set; }
[DataMember]
public string Benutzername { get; set; }
[DataMember]
public string Passwort { get; set; }
}
}

View File

@@ -161,6 +161,15 @@ namespace BS.Shared.DataContracts
[DataMember]
public Pflegegrad? Pflegegrad { get; set; }
[DataMember]
public bool VertretungGewuenscht { get; set; }
[DataMember]
public int AbWelchemKrankheitsTag { get; set; }
[DataMember]
public bool VertretungDringendErforderlich { get; set; }
}
}

View File

@@ -52,5 +52,8 @@ namespace BS.Shared.DataContracts
[DataMember]
public bool isMitarbeiterKrank { get; set; }
[DataMember]
public bool isCustomerKrank { get; set; }
}
}