Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/BeWo

# Conflicts:
#	BeWoPlanerMobil/Web.config
This commit is contained in:
Christian
2017-07-25 11:02:25 +02:00
70 changed files with 5337 additions and 1524 deletions

View File

@@ -104,11 +104,13 @@
<Reference Include="DevExpress.Xpf.Grid.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Layout.v13.2.Core, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Printing.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Ribbon.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.RichEdit.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Scheduler.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.LightGray.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2007Black.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpf.Themes.Office2010Black.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraBars.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPivotGrid.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -182,6 +184,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="SchulbegleitenderDienst\SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="SchulbegleitenderDienst\KrankheitsZeitraumView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -444,7 +450,7 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\SchulbegleitenderDienstCustomer.xaml">
<Page Include="View\SchulbegleitenderDienst.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
@@ -546,6 +552,9 @@
<Compile Include="ProxyLoginView.xaml.cs">
<DependentUpon>ProxyLoginView.xaml</DependentUpon>
</Compile>
<Compile Include="SchulbegleitenderDienst\SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml.cs">
<DependentUpon>SchulbegleitenderDienstMitarbeiterBearbeitungsView.xaml</DependentUpon>
</Compile>
<Compile Include="SchulbegleitenderDienst\KrankheitsZeitraumView.xaml.cs">
<DependentUpon>KrankheitsZeitraumView.xaml</DependentUpon>
</Compile>
@@ -640,7 +649,9 @@
<Compile Include="ViewModel\ChatMediaMessageVM.cs" />
<Compile Include="ViewModel\ArbeitszeitVM.cs" />
<Compile Include="ViewModel\ArbeitszeitEintragVM.cs" />
<Compile Include="ViewModel\KriterienVM.cs" />
<Compile Include="ViewModel\CustomerTokenRelationVM.cs" />
<Compile Include="ViewModel\EmployeeTokenRelationVM.cs" />
<Compile Include="ViewModel\TokenVM.cs" />
<Compile Include="ViewModel\ListViewModel\ArbeitszeitListVM.cs" />
<Compile Include="ViewModel\ListViewModel\ArbeitszeitEintragListVM.cs" />
<Compile Include="ViewModel\VertretungVM.cs" />
@@ -848,8 +859,8 @@
<Compile Include="View\EmployeeArbeitszeitView.xaml.cs">
<DependentUpon>EmployeeArbeitszeitView.xaml</DependentUpon>
</Compile>
<Compile Include="View\SchulbegleitenderDienstCustomer.xaml.cs">
<DependentUpon>SchulbegleitenderDienstCustomer.xaml</DependentUpon>
<Compile Include="View\SchulbegleitenderDienst.xaml.cs">
<DependentUpon>SchulbegleitenderDienst.xaml</DependentUpon>
</Compile>
<Compile Include="View\Master\SchulbegleitenderDienstMasterView.xaml.cs">
<DependentUpon>SchulbegleitenderDienstMasterView.xaml</DependentUpon>

View File

@@ -0,0 +1 @@
DevExpress.Xpf.RichEdit.RichEditControl, DevExpress.Xpf.RichEdit.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

@@ -59,19 +59,19 @@
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" Grid.ColumnSpan="1" x:Name="Datepicker" Height="23" Grid.Row="0" Width="100" HorizontalAlignment="Left" VerticalAlignment="Top" EditValueChanged="Datepicker_OnEditValueChanged" Margin="3,3,3,3" AllowNullInput="False"/>
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" >
<StackPanel Grid.Row="0" Grid.Column="1" Orientation="Horizontal" >
<Button Style="{x:Null}" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Tagesansicht" Click="ButtonDayView_Click" VerticalAlignment="Top">
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar1Day24.png" />
</Button>
<Button Style="{x:Null}" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Tagesansicht" Click="ButtonDayView_Click" VerticalAlignment="Top">
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar1Day24.png" />
</Button>
<Button Style="{x:Null}" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Wochenansicht" Click="ButtonWorkWeekView_Click" VerticalAlignment="Top">
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar5Day24.png" />
</Button>
<Button Style="{x:Null}" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Wochenansicht" Click="ButtonWorkWeekView_Click" VerticalAlignment="Top">
<Image Source="/BeWoPlaner;component/Ressources/Icons/Calendar5Day24.png" />
</Button>
<Button Style="{x:Null}" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Aktualisieren" Click="Aktualisieren_OnClick" VerticalAlignment="Top" >
<Image Source="/BeWoPlaner;component/Ressources/Icons/SymbolRefresh32.png" />
</Button>
<Button Style="{x:Null}" Margin="3,3,3,3" Height="24" Width="24" ToolTip="Aktualisieren" Click="Aktualisieren_OnClick" VerticalAlignment="Top" >
<Image Source="/BeWoPlaner;component/Ressources/Icons/SymbolRefresh32.png" />
</Button>
</StackPanel>
@@ -263,7 +263,7 @@
</StackPanel>
<!-- jeweils links und rechts ein Pfeil button -->
<!-- ##### jeweils links und rechts ein Pfeil button #### -->
<StackPanel Grid.ColumnSpan="3" Grid.Row="1" Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Bottom" >
@@ -278,13 +278,17 @@
</Button>
</StackPanel>
<!---->
<!--######################################################-->
</Grid>
<!-- ###################################AutoGenerateColumns="AddNew"BasedOn="{StaticResource {themes:GridRowThemeKey ResourceKey=CellStyle}}"##################################################IsLeft="False"##################### -->
<!-- ########################################################################################################### -->
<dxg:GridControl x:Name="GridDataControlTagesansicht" Visibility="Visible" Grid.Row="1" Grid.ColumnSpan="3" AllowDrop="true" Margin="5,5,5,5" VerticalContentAlignment="Center" >
<!-- ############################ Tagesansicht ######################################## -->
<dxg:GridControl x:Name="GridDataControlTagesansicht" Visibility="Visible" Grid.Row="1" Grid.ColumnSpan="3" AllowDrop="true" Margin="5,5,5,5" VerticalContentAlignment="Center" >
<dxg:GridControl.Columns >
@@ -371,14 +375,19 @@
</dxg:GridControl>
<!--####################################################################################-->
<!--############################ Tages Ansicht View ****Ende**** ##########################################################################-->
<dxg:GridControl x:Name="GridDataControlMitarbeiterWochenansicht" Visibility="Collapsed" Grid.Row="1" Grid.ColumnSpan="3" AllowDrop="true" Margin="5,5,5,5" VerticalContentAlignment="Center" >
<dxg:GridControl.Columns >
<dxg:GridColumn FieldName="MaFrei" Header="Mitarbeiter" Width="125" ReadOnly="True" />
<!-- Umbauen -->
<dxg:GridColumn FieldName="Employee" Header="Mitarbeiter" Width="125" ReadOnly="True" />
<dxg:GridColumn FieldName="Mo" Header="Mo" Width="75" ReadOnly="True"/>
@@ -386,7 +395,7 @@
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaMo" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="AddKlientToMitarbeiter_OnClick" >
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaMo" ToolTip="Klient Hinzufügen"/>
</dxe:ButtonInfo.Content>
@@ -416,7 +425,7 @@
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaDi" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="AddKlientToMitarbeiter_OnClick">
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaDi" ToolTip="Klient Hinzufügen"/>
</dxe:ButtonInfo.Content>
@@ -446,7 +455,7 @@
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaMi" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="AddKlientToMitarbeiter_OnClick">
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaMi" ToolTip="Klient Hinzufügen"/>
</dxe:ButtonInfo.Content>
@@ -476,7 +485,7 @@
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaDo" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="AddKlientToMitarbeiter_OnClick">
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaDo" ToolTip="Klient Hinzufügen"/>
</dxe:ButtonInfo.Content>
@@ -506,7 +515,7 @@
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaFr" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="AddKlientToMitarbeiter_OnClick">
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaFr" ToolTip="Klient Hinzufügen"/>
</dxe:ButtonInfo.Content>
@@ -536,7 +545,7 @@
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaSa" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="AddKlientToMitarbeiter_OnClick">
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaSa" ToolTip="Klient Hinzufügen"/>
</dxe:ButtonInfo.Content>
@@ -766,70 +775,7 @@
<!--############################### Wochenüberblick Klient ****Ende**** ########################CellValueChanged="GridViewWochenKlientBase_OnRowUpdated"######################-->
<!-- End mal geschaut -->
<!-- ################################## TreeListControl ##############################################################-->
<!--<dxg:TreeListControl x:Name="GridDataControl" Grid.Row="1" Grid.RowSpan="2" Grid.ColumnSpan="3" AllowDrop="true" Margin="5,5,5,5" VerticalContentAlignment="Center" >
<dxg:TreeListControl.Bands>
<dxg:TreeListControl.Columns>
<dxg:TreeListColumn FieldName="Vertretung" Width="250" x:Name="ColumnVertretung" >
<dxg:TreeListColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSet" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettings_OnDefaultButtonClick" >
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButton" ToolTip="Hidden Valley Suddenly Dead"/>
</dxe:ButtonInfo.Content>
</dxe:ButtonInfo>
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:TreeListColumn.EditSettings>
</dxg:TreeListColumn>
<dxg:TreeListColumn FieldName="Kunde" Width="200" />
<dxg:TreeListColumn FieldName="KrankerMitarbeiter" Width="200" />
<dxg:TreeListColumn FieldName="KrankheitsMeldung" Width="200" />
<dxg:TreeListColumn FieldName="KrankheitsZeitraum" Width="200"/>
<dxg:TreeListColumn FieldName="AbwesenheitsKategorie" Width="200"/>
<dxg:TreeListColumn FieldName="Beschreibung" MinWidth="200" />
<dxg:TreeListColumn FieldName="VertretungsDC" MinWidth="0" Visible="False" />
--><!--<dxg:TreeListColumn FieldName="ParentId" dxg:BandBase.GridRow="1" />
<dxg:TreeListColumn FieldName="Oid" />--><!--
</dxg:TreeListControl.Columns>
<dxg:TreeListControl.View>
<dxg:TreeListView x:Name="view"
ParentFieldName="ParentId"
KeyFieldName="Oid" AutoWidth="True" />
</dxg:TreeListControl.View>
<dxg:TreeListControl.Bands>
</dxg:TreeListControl>-->
<!--
// dieser bereich muss unter vertretung
<dxg:TreeListControlBand Header="Details">
<dxg:TreeListControlBand.Bands>
<dxg:TreeListControlBand Header="Absolute Values">
<dxg:TreeListColumn FieldName="Kunde" Width="200" />
<dxg:TreeListColumn FieldName="KrankerMitarbeiter" Width="200" />
<dxg:TreeListColumn FieldName="KrankheitsMeldung" Width="200" />
<dxg:TreeListColumn FieldName="KrankheitsZeitraum" Width="200"/>
<dxg:TreeListColumn FieldName="AbwesenheitsKategorie" Width="200"/>
<dxg:TreeListColumn FieldName="Beschreibung" MinWidth="200" />
</dxg:TreeListControlBand>
</dxg:TreeListControlBand.Bands>
</dxg:TreeListControlBand>
-->
<!-- ####################################################ShowAutoFilterRow="{Binding ShowAutoFilterRow}"##############################################################-->
<Popup Margin="10" x:Name="popup_MitarbeiterVertretung" StaysOpen="False" Placement="MousePoint" Width="370" Height="250"
Closed="popup_Closed" Opened="popup_Opened">

View File

@@ -6,7 +6,7 @@
xmlns:search="clr-namespace:BeWo.View.Search"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
Title="Vertretung auswählen" Height="600" Width="600" WindowStartupLocation="CenterScreen"
Title="Vertretung auswählen" Height="650" Width="750" WindowStartupLocation="CenterScreen"
ResizeMode="CanResizeWithGrip" WindowStyle="None" Background="Transparent">
<GroupBox Header="Vertretung auswählen" x:Name="rootGroupBox" Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown" >
@@ -18,54 +18,175 @@
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<RowDefinition Height="225"/>
<RowDefinition Height="125"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- ############################### Oberes 1/3 auswahl Kriterien #######Search########################################## -->
<!-- ############################### Oberes 1/3 auswahl Kriterien ################################################ -->
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="125"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GroupBox Header="WunschKriterien" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<GroupBox Header="Klient Wunsch Kriterien" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<!-- Ready machen für teilweise funktion / Combobox zur auswahl der tokens und TextBox zur anzeige der ausgewählten tokens -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<controls:NullItemComboBox Grid.Row="0" Grid.Column="0" x:Name="ComboBoxWunschAuswahl" SelectionChanged="ComboBoxWunschAuswahl_OnSelected" Width="200" Height="23" Visibility="Collapsed" />
<TextBox Grid.Row="1" Grid.Column="0" Margin="3" x:Name="TBoxWunschAnzeige" MinHeight="50" TextWrapping="Wrap" Width="200" IsReadOnly="True" />
</Grid>
</GroupBox>
<GroupBox Header="AusschlussKriterien" Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3">
<GroupBox Header="Klient Ausschluss Kriterien" Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3">
<!-- Ready machen für teilweise funktion <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/> <RowDefinition Height="Auto"/>-->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<controls:NullItemComboBox Grid.Row="0" Grid.Column="0" x:Name="ComboBoxAussschlussAuswahl" SelectionChanged="ComboBoxAussschlussAuswahl_OnSelected" Width="200" Height="23" Visibility="Collapsed"/>
<TextBox Grid.Row="1" Margin="3" Grid.Column="0" x:Name="TBoxAussschlussAnzeige" Width="200" MinHeight="50" TextWrapping="Wrap" IsReadOnly="True"/>
</Grid>
</GroupBox>
<GroupBox Header="Geschlecht" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3">
<WrapPanel Orientation="Horizontal">
<RadioButton Content="männlich" GroupName="Geschlecht" Margin="3,3,3,3"/>
<RadioButton Content="weiblich" GroupName="Geschlecht" Margin="3,3,3,3"/>
<GroupBox Header="Mitarbeiter Wunsch Kriterien" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<!-- ############### wird durch Token Combobox mit devexpress vers. 17 ersetzt ################################## -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<controls:NullItemComboBox Grid.Row="0" Grid.Column="0" x:Name="ComboBoxMitarbeiterWunschAuswahl" SelectionChanged="ComboBoxMitarbeiterWunschAuswahl_OnSelectionChanged" Width="200" Height="23" />
<TextBox Grid.Row="1" Margin="3" Grid.Column="0" x:Name="TBoxMitarbeiterWunschAnzeige" Width="200" MinHeight="50" TextWrapping="Wrap" IsReadOnly="True"/>
</Grid>
<!-- ############################################################################################################## -->
</GroupBox>
<GroupBox Header="Mitarbeiter Ausschluss Kriterien" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<!-- ############### wird durch Token Combobox mit devexpress vers. 17 ersetzt ################################## -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<controls:NullItemComboBox Grid.Row="0" Grid.Column="0" x:Name="ComboBoxMitarbeiterAussschlussAuswahl" SelectionChanged="ComboBoxMitarbeiterAussschlussAuswahl_OnSelectionChanged" Width="200" Height="23" />
<TextBox Grid.Row="1" Margin="3" Grid.Column="0" x:Name="TBoxMitarbeiterAussschlussAnzeige" Width="200" MinHeight="50" TextWrapping="Wrap" IsReadOnly="True"/>
</Grid>
<!-- ############################################################################################################## -->
</GroupBox>
<GroupBox Header="Geschlecht" Grid.Row="0" Grid.Column="4" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3">
<WrapPanel Orientation="Horizontal">
<CheckBox Content="männlich" Margin="3,3,3,3" Click="RBMaennlich_OnClick" x:Name="RBMaennlich" IsChecked="True"/>
<CheckBox Content="weiblich" Margin="3,3,3,3" Click="RBWeiblich_OnClick" x:Name="RBWeiblich" IsChecked="True" />
</WrapPanel>
</GroupBox>
<GroupBox Grid.Column="2" Grid.Row="1" Grid.ColumnSpan="2" Margin="3,3,3,3" Style="{StaticResource ObjectEditGroupBox}" Header="Klienten PLZ">
<WrapPanel Orientation="Horizontal">
<Label Margin="3,3,3,3">PLZ: </Label>
<TextBox x:Name="PlzKlient" Height="20" Width="50" MaxLength="5" Margin="3,3,3,3" VerticalContentAlignment="Center" />
</WrapPanel>
</GroupBox>
<Grid Column="4" Grid.Row="1" Margin="3,3,3,3">
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition Height="60"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GroupBox Grid.Row="0" Margin="1" Style="{StaticResource ObjectEditGroupBox}" Header="Klienten PLZ">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<WrapPanel Orientation="Horizontal" Margin="1" HorizontalAlignment="Left" Grid.Column="0">
<Label Content ="Plz:" />
<Label x:Name="LabelPlzKlient" Width="50" />
</WrapPanel>
<WrapPanel Orientation="Horizontal" Margin="1" HorizontalAlignment="Right" Grid.Column="1">
<Label Content="Ort:"/>
<Label x:Name="LabelOrtKlient" Width="100" />
</WrapPanel>
</Grid>
</GroupBox>
<GroupBox Grid.Row="1" Margin="1" Style="{StaticResource ObjectEditGroupBox}" Header="Suche nach">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="1" Grid.Column="0">
<Label Content="Plz:" />
<dxe:TextEdit x:Name="PlzKlient" Height="23" Width="50" VerticalContentAlignment="Center" EditValueChanged="PlzKlient_OnTextChanged" MaskType="RegEx" Mask="\d{1,5}" ShowError="False" />
</WrapPanel>
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="1" Grid.Column="1">
<Label Content="Ort:" />
<TextBox x:Name="OrtKlient" Height="23" Width="100" VerticalContentAlignment="Center" TextChanged="OrtKlient_OnTextChanged" />
</WrapPanel>
</Grid>
</GroupBox>
</Grid>
</Grid>
<!-- ############################################################################################################## -->
<!-- ##################################################################################################################### -->
@@ -107,7 +228,7 @@
<dxe:TextEdit Grid.Column="3" Grid.Row="1" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" x:Name="KVDatepicker_UhrzeitVon"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
Height="23" Grid.ColumnSpan="2" Visibility="Visible" Width="75"
Margin="3,3,3,3"/>
@@ -136,8 +257,14 @@
<dxg:GridControl.Columns >
<dxg:GridColumn FieldName="Name" Width="125" ReadOnly="True" Header="Name"/>
<dxg:GridColumn FieldName="Adress" Width="125" ReadOnly="True" Header="Adresse"/>
<dxg:GridColumn FieldName="Arbeitszeit" Width="125" ReadOnly="True" Header="Arbeitzeit"/>
<dxg:GridColumn FieldName="Arbeitszeit" MinWidth="60" ReadOnly="True" Header="Arbeitzeit"/>
<dxg:GridColumn FieldName="Postleitzahl" Width="75" ReadOnly="True" Header="Postleitzahl" />
<dxg:GridColumn FieldName="Straße" Width="100" ReadOnly="True" Header="Starße" />
<dxg:GridColumn FieldName="Stadt" Width="75" ReadOnly="True" Header="Stadt" />
<dxg:GridColumn FieldName="Geschlecht" Width="75" ReadOnly="True" Header="Geschlecht" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
@@ -147,12 +274,12 @@
<!-- ################################################################################################## -->
<!-- ################################################################################################## Margin="3,3,3,3"-->
<StackPanel Grid.Row="3" Grid.Column="0" >
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="3,3,3,3" VerticalAlignment="Bottom" >
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Bottom" >
<Button Content="Übernehmen" Width="90" Click="ButtonBase_OnClick" Margin="3,3,3,3" />
<Button Content="Schließen" Width="90" Click="ButtonClose_OnClick" Margin="3,3,3,3"/>
</WrapPanel>

View File

@@ -18,10 +18,13 @@ using System.Collections.Specialized;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Net;
using System.Text;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Media.Imaging;
using BeWo.Controls;
using BeWo.Core;
using BeWo.Core.Service;
using BeWo.View.Detail;
@@ -36,6 +39,9 @@ using DevExpress.XtraPrinting.Native;
using DevExpress.XtraPrinting.XamlExport;
using Microsoft.Office.Interop.Word;
using Color = System.Drawing.Color;
using KeyEventArgs = System.Windows.Input.KeyEventArgs;
using MessageBox = System.Windows.MessageBox;
using TextBox = System.Windows.Controls.TextBox;
namespace BeWo.SchulbegleitenderDienst
{
@@ -44,23 +50,38 @@ namespace BeWo.SchulbegleitenderDienst
public event EventHandler<CustomEventArgs> RaiseCustomEvent;
public event EventHandler<CustomKlientEventArgs> RaiseKlientCustomEvent;
private DateTime? _startDate;
private DateTime? _endDate;
private List<SearchViewDaten> _dataListEmployee = new List<SearchViewDaten>();
public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate)
private readonly long? _klientOid = 10;
List<SearchViewDaten> aktuelleDaten = new List<SearchViewDaten>();
List<SearchViewDaten> alleMitarbeiterDaten = new List<SearchViewDaten>();
private Dictionary<string, TokenDC> verfuegbareW = new Dictionary<string, TokenDC>();
private Dictionary<string, TokenDC> gesetzteW = new Dictionary<string, TokenDC>();
private Dictionary<string, TokenDC> verfuegbareA = new Dictionary<string, TokenDC>();
private Dictionary<string, TokenDC> gesetzteA = new Dictionary<string, TokenDC>();
public SchulbegleitenderDienstBearbeitungsView(int y, DateTime? startdate, DateTime? enddate, DateTime currentDate, long? klientOid) // Klient oid muss mitgegeben werden
{
InitializeComponent();
GetAllTokensAndSetAll();
rootGroupBox.Header += " / " + currentDate.ToString("dddd dd.MM.yyyy");
_startDate = startdate;
_endDate = enddate;
_klientOid = klientOid;
if (_startDate != null)
KVDatepickerVon.EditValue = _startDate;
@@ -75,7 +96,6 @@ namespace BeWo.SchulbegleitenderDienst
OrdenerieThings();
if (y == 1)
{
//y == 1 Mitarbeiterauswahl
@@ -83,10 +103,12 @@ namespace BeWo.SchulbegleitenderDienst
}
else if (y == 2)
{
//y == 2 Klientenauswahl
//y == 2 Klientenauswahl --> muss das nicht ehh anders angepasst werden
//rootGroupBoxKlient.Visibility = Visibility.Visible;
}
//setze Ort und olz des Klienten zur ansicht
SetKlientOrtAndPlz();
}
@@ -112,6 +134,15 @@ namespace BeWo.SchulbegleitenderDienst
}));
}
private void SetKlientOrtAndPlz()
{
var pKlient = ServiceFacade.DoCustomerServiceSync(r => r.GetPersonWithCustomerOid(_klientOid.Value));
if(pKlient != null){
LabelPlzKlient.Content = pKlient.PostalCode;
LabelOrtKlient.Content = pKlient.Town;
}
}
#region MitarbeiterSearch
@@ -147,59 +178,47 @@ namespace BeWo.SchulbegleitenderDienst
private void OrdenerieThings()
{
//popup_MitarbeiterVertretung.IsOpen = false;
//MitarbeiterVertretungsearchview.ItemSelected -= MitarbeiterVertretungsearchview_MitarbeiterVertretungSelected;
//currentEmployee = e.Data;
//popupedit_MitarbeiterVertretungSearch.Text = currentEmployee.FirstName + " " + currentEmployee.LastName;
//hole alle mit Service Raus
var employeeList = ServiceFacade.DoEmployeeServiceSync(s => s.GetAllActiveVertreterEmployeesCompact());
// MitarbeiterVertretungsearchview.ObjectList = employeeList;
//popupedit_MitarbeiterVertretungSearch.Focus();
foreach (var emp in employeeList)
{
string arbeitszeitEintrag = "";
foreach (var artime in emp.Arbeitszeit)
_dataListEmployee.Clear();
//var employeeList =
ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllActiveVertreterEmployeesCompact(), employeeList => this.Dispatch(
delegate
{
foreach (var eintrag in artime.Eintraege)
// MitarbeiterVertretungsearchview.ObjectList = employeeList;
//popupedit_MitarbeiterVertretungSearch.Focus();
foreach (var emp in employeeList)
{
if ((int)_startDate.Value.DayOfWeek == (int)eintrag.Tag + 1)
{
arbeitszeitEintrag = eintrag.UhrzeitVon + " - " + eintrag.UhrzeitBis;
}
}
}
string arbeitszeitEintrag = "";
_dataListEmployee.Add(
new SearchViewDaten(emp.FirstName + " " + emp.LastName, emp.PersonAdressInfo, arbeitszeitEintrag, emp));
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";
_dataListEmployee.Add(
new SearchViewDaten(emp.FirstName + " " + emp.LastName, emp.PersonAdressPLZ, emp.PersonAdressStr, emp.PersonAdressStadt, arbeitszeitEintrag, emp, geschlecht));
}
GridDataControlMitarbeiterVertretungsearchview.ItemsSource = _dataListEmployee;
}
GridDataControlMitarbeiterVertretungsearchview.ItemsSource = _dataListEmployee;
aktuelleDaten = _dataListEmployee;
alleMitarbeiterDaten = _dataListEmployee;
}));
}
#endregion
// ####################### Am ende des tage rausnehmen ######################################
private void MitarbeiterVertretungsearchview_OnSelected(object sender, RoutedEventArgs e)
{
//MessageBox.Show("Item wurde Selektiert");
}
private void MitarbeiterVertretungsearchview_OnItemSelected(object sender, EventArgs<CompactEmployeeDC> e)
{
//MessageBox.Show("Youre welcome! Not");
}
//############################################################################################
//Übergebe die Daten Zurück
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
@@ -217,21 +236,39 @@ namespace BeWo.SchulbegleitenderDienst
Close();
}
else if (!KVDatepickerVon.Text.Equals("") && !KVDatepickerBis.Text.Equals("") && _startDate.HasValue && _endDate.HasValue && !KVDatepicker_UhrzeitVon.Text.Equals("") && !KVDatepicker_UhrzeitBis.Text.Equals(""))
{
var xvon = KVDatepicker_UhrzeitVon.Text;
DateTime dateTimeStart = DateTime.ParseExact(xvon, "HH:mm", CultureInfo.CurrentCulture);
{
var von = KVDatepicker_UhrzeitVon.Text;
var bis = KVDatepicker_UhrzeitBis.Text;
var yvon = KVDatepicker_UhrzeitBis.Text;
DateTime dateTimeEnd = DateTime.ParseExact(yvon, "HH:mm", CultureInfo.CurrentCulture);
if (von.Length < 5)
{
von = "0" + von;
}
DateTime? xVon = new DateTime(_startDate.Value.Year, _startDate.Value.Month, _startDate.Value.Day, dateTimeStart.Hour, dateTimeStart.Minute, dateTimeStart.Second);
DateTime? xBis = new DateTime(_endDate.Value.Year, _endDate.Value.Month, _endDate.Value.Day, dateTimeEnd.Hour, dateTimeEnd.Minute, dateTimeEnd.Second);
if (bis.Length < 5)
{
bis = "0" + bis;
}
DateTime dateVon = DateTime.ParseExact(von, "HH:mm", CultureInfo.CurrentCulture);
DateTime dateBis = DateTime.ParseExact(bis, "HH:mm", CultureInfo.CurrentCulture);
RaiseCustomEvent(this, new CustomEventArgs(x, xVon, xBis));
if (dateVon > dateBis)
{
MessageBox.Show("Die Startzeit darf nicht größer sein als die Endzeit.");
}
else
{
DateTime? xVon = new DateTime(_startDate.Value.Year, _startDate.Value.Month, _startDate.Value.Day, dateVon.Hour, dateVon.Minute, dateVon.Second);
Close();
DateTime? xBis = new DateTime(_endDate.Value.Year, _endDate.Value.Month, _endDate.Value.Day, dateBis.Hour, dateBis.Minute, dateBis.Second);
RaiseCustomEvent(this, new CustomEventArgs(x, xVon, xBis));
Close();
}
}
else
{
@@ -258,7 +295,7 @@ namespace BeWo.SchulbegleitenderDienst
Close();
}
//################### Neuer bereich Vertretungs zeitraum bereich/ ganztägig oder nur ein teil ####################################
//################### Neuer bereich Vertretungs zeitraum bereich / ganztägig oder nur ein teil ####################################
private void KVCheckBox_OnUnchecked(object sender, RoutedEventArgs e)
{
KVDatepicker_UhrzeitBis.Text = "";
@@ -303,7 +340,461 @@ namespace BeWo.SchulbegleitenderDienst
}
}
//#######################################################################
//#################### Nicht mehr gebrauchter code ###################################################
//######################## Postalcode Range Extender
//public void ErmittlePlzBereich(string plz, int umkreis)
//{
// decimal postleitzahl = Convert.ToDecimal(plz);
// if (umkreis == 0)
// {
// //Zeige in der liste alle an die genau diese postleitzahl mit den ersten 3 Stellen haben. //villeicht auch ersten 4 mal sehen
// MessageBox.Show("Zeige alle Personen mit gleicher plz an");
// }
// else
// {
// MessageBox.Show("Hier kommt nacher eine Berechnung des Umkreises hin");
// #region Plzklient mit erweiterter umkreis auswahl
// //PlzKlient mit erweiterter umkreis auswahl.
// //const Erdradius = 6371000; Konstante in metern
// //
// //// Umwandlung der Kugel-Koordinaten ins kathesische Koordinatensystem:
// //// Umrechnung ins Bogenmaß
// //lambda := geoLaenge * PI / 180;
// //phi := geoBreite * PI / 180;
// //geoKoordX := Round(Erdradius * cos(phi) * cos(lambda));
// //geoKoordY := Round(Erdradius * cos(phi) * sin(lambda));
// //geoKoordZ := Round(Erdradius * sin(phi));
// // Umrechnung von Meter in Kilometer
// // Bei der Berechnung in Metern werden die Zahlen zu groß,
// // die Berechnung mit Floats ist allerdings kein Problem...
// //rd := mysql_fetch_row(re);
// //x1 := geoKoordX / 1000;
// //y1 := geoKoordY / 1000;
// //z1 := geoKoordZ / 1000;
// //x2 := geoKoordX2 / 1000;
// //y2 := geoKoordY2 / 1000;
// //z2 := geoKoordZ2 / 1000;
// //Entfernung := Round(
// // 2 * ErdradiusKm *
// // arcsin(
// // sqrt(
// // sqr(x1 - x2)
// // + sqr(y1 - y2)
// // + sqr(z1 - z2)
// // ) / (2 * ErdradiusKm)
// // )
// // * 1000
// // );
// #endregion
// }
//}
//########################################################################
private void PlzKlient_OnTextChanged(object sender, EditValueChangedEventArgs e)
{
bool ruecksetzpunkt = false;
List<SearchViewDaten> ndaten = new List<SearchViewDaten>();
foreach (var daten in alleMitarbeiterDaten)
{
if(daten.Postleitzahl != null){
if (daten.Postleitzahl.StartsWith(PlzKlient.Text))
{
ndaten.Add(daten);
}
}
if (daten.Postleitzahl != null && PlzKlient.Text.Length == 0)
{
if (!ruecksetzpunkt)
ruecksetzpunkt = true;
}
}
if (ruecksetzpunkt)
{
GridDataControlMitarbeiterVertretungsearchview.ItemsSource = alleMitarbeiterDaten;
//aktuelleDaten = alleMitarbeiterDaten; // sollte sich so verhalten wie bei geschlecht
}
else
{
GridDataControlMitarbeiterVertretungsearchview.ItemsSource = ndaten;
// aktuelleDaten = ndaten;
}
GridDataControlMitarbeiterVertretungsearchview.RefreshData();
GridDataControlMitarbeiterVertretungsearchview.RefreshUI();
}
//private void ComboBoxUmkreisExtender_OnSelected(object sender, RoutedEventArgs e)
//{
// var item = sender as NullItemComboBox;
// int umkreis = 0;
// if (item != null && item.SelectedItem != null)
// {
// string[] ahh = item.SelectedItem.ToString().Split(' ');
// umkreis = Convert.ToInt32(ahh[0]);
// }
// ErmittlePlzBereich(PlzKlient.Text, umkreis);
//}
//private void Selector_OnSelected(object sender, RoutedEventArgs e)
//{
// throw new NotImplementedException();
//}
private void ComboBoxWunschAuswahl_OnSelected(object sender, RoutedEventArgs e)
{
var item = sender as NullItemComboBox;
if (item.SelectedItem != null && !item.SelectedItem.ToString().Equals(""))
{
TBoxWunschAnzeige.Text += item.SelectedItem + "; ";
ComboBoxWunschAuswahl.SelectedIndex = 0;
// SortMitarbeiterliste();
}
}
private void ComboBoxAussschlussAuswahl_OnSelected(object sender, RoutedEventArgs e)
{
var item = sender as NullItemComboBox;
if (item.SelectedItem != null && !item.SelectedItem.ToString().Equals(""))
{
TBoxAussschlussAnzeige.Text += item.SelectedItem + "; ";
ComboBoxAussschlussAuswahl.SelectedIndex = 0;
// SortMitarbeiterliste();
}
}
public void GetAllTokensAndSetAll()
{
// var x =
ServiceFacade.DoOperationsServiceAsync(r => r.GetAllTokens(SchulbegleitenderZugehörigkeitsTyp.Klient, _klientOid), x => this.Dispatch(
delegate
{
List<string> wunschliste = new List<string>();
List<string> ausschlussliste = new List<string>();
foreach (var token in x)
{
if (token.MemberOid == _klientOid)
{
if (token.TokenTyp == TokenTyp.WunschKriterium)
{
wunschliste.Add(token.Beschreibung);
TBoxWunschAnzeige.Text += token.Beschreibung + "; ";
}
if (token.TokenTyp == TokenTyp.AusschlussKriterium)
{
ausschlussliste.Add(token.Beschreibung);
TBoxAussschlussAnzeige.Text += token.Beschreibung + "; ";
}
}
}
}));
LoadMitarbeiterKriterien();
}
private void LoadMitarbeiterKriterien()
{
verfuegbareW.Clear();
gesetzteW.Clear();
verfuegbareA.Clear();
gesetzteA.Clear();
//var x =
ServiceFacade.DoOperationsServiceAsync(
r => r.GetAllTokens(SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter, 0), x =>this.Dispatch(delegate
{
List<string> wunschliste = new List<string>();
List<string> ausschlussliste = new List<string>();
foreach (var token in x)
{
if (token.TokenTyp == TokenTyp.WunschKriterium)
{
if (!verfuegbareW.ContainsKey(token.Beschreibung))
verfuegbareW.Add(token.Beschreibung,token);
wunschliste.Add(token.Beschreibung);
}
if (token.TokenTyp == TokenTyp.AusschlussKriterium)
{
if (!verfuegbareA.ContainsKey(token.Beschreibung))
verfuegbareA.Add(token.Beschreibung,token);
ausschlussliste.Add(token.Beschreibung);
}
}
ComboBoxMitarbeiterWunschAuswahl.ItemsSource = wunschliste;
ComboBoxMitarbeiterAussschlussAuswahl.ItemsSource = ausschlussliste;
}));
}
private void ComboBoxMitarbeiterAussschlussAuswahl_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var token = ComboBoxMitarbeiterAussschlussAuswahl.SelectedItem as string;
if(token != null)
TBoxMitarbeiterAussschlussAnzeige.Text += token + "; ";
foreach (var item in verfuegbareA)
{
if (item.Key == token)
{
if(!gesetzteA.ContainsKey(token))
gesetzteA.Add(token,item.Value);
}
}
SortMitarbeiterliste();
}
private void ComboBoxMitarbeiterWunschAuswahl_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var token = ComboBoxMitarbeiterWunschAuswahl.SelectedItem as string;
if(token != null)
TBoxMitarbeiterWunschAnzeige.Text += token + "; ";
foreach (var item in verfuegbareW)
{
if (item.Key == token)
{
if(!gesetzteW.ContainsKey(token))
gesetzteW.Add(token, item.Value);
}
}
SortMitarbeiterliste();
}
public void SortMitarbeiterliste()
{
List<SearchViewDaten> nSVD = new List<SearchViewDaten>();
//hole die liste aller Employee2Token
var x = ServiceFacade.DoOperationsServiceSync(r => r.GetEmployee2TokenList()); // hier ggf. Async aufruf
//bool isAusschluss = false; // zu test zwecke erstmal rausnehmen und später wieder rein
foreach (var daten in alleMitarbeiterDaten)
{
foreach (var item in x)
{
if (daten.EmployeeDC.EmployeeOid == item.Employee.EmployeeOid)
{
//noch anpassen weil bei ausschluss equal soll der emp nicht übernommen werden oder??
foreach (var gesA in gesetzteA)
{
if (item.Token.TokenOid == gesA.Value.TokenOid)
{
if(!nSVD.Contains(daten))
nSVD.Add(daten);
// isAusschluss = true;
}
}
foreach (var gesW in gesetzteW)
{
if (item.Token.TokenOid == gesW.Value.TokenOid)
{
//if (isAusschluss)
//{
// isAusschluss = false;
//}
//else
//{
if (!nSVD.Contains(daten))
nSVD.Add(daten);
//}
}
}
//if (isAusschluss)
//{
// isAusschluss = false;
//}
}
}
}
GridDataControlMitarbeiterVertretungsearchview.ItemsSource = nSVD;
GridDataControlMitarbeiterVertretungsearchview.RefreshData();
GridDataControlMitarbeiterVertretungsearchview.RefreshUI();
aktuelleDaten = nSVD;
}
private void RBMaennlich_OnClick(object sender, RoutedEventArgs e)
{
bool isOtherActive = RBWeiblich.IsChecked.Value;
if (RBMaennlich.IsChecked.Value)
{
GeschlechtsUmwandlung(3, isOtherActive);
}
else
{
GeschlechtsUmwandlung(1, isOtherActive);
}
}
private void RBWeiblich_OnClick(object sender, RoutedEventArgs e)
{
bool isOtherActive = RBMaennlich.IsChecked.Value;
if (RBWeiblich.IsChecked.Value)
{
GeschlechtsUmwandlung(4, isOtherActive);
}
else
{
GeschlechtsUmwandlung(2, isOtherActive);
}
}
private void GeschlechtsUmwandlung(int i, bool isOtherActive)
{
List<SearchViewDaten> newItems = new List<SearchViewDaten>();
// 1 == entferne jungs | 2 == entferne mädels | 3 füge jungs hinzu | 4 füge mädels hinzu
if (i == 1)
{
foreach (var item in aktuelleDaten)
{
if (item.Geschlecht.Equals("Weiblich") && isOtherActive)
{
newItems.Add(item);
}
}
}
else if (i == 2)
{
foreach (var item in aktuelleDaten)
{
if (item.Geschlecht.Equals("Männlich") && isOtherActive)
{
newItems.Add(item);
}
}
}
else if (i == 3)
{
foreach (var item in aktuelleDaten)
{
if (!item.Geschlecht.Equals("Weiblich") && isOtherActive == false)
{
newItems.Add(item);
}
else if (isOtherActive)
{
newItems.Add(item);
}
}
}
else if (i == 4)
{
foreach (var item in aktuelleDaten)
{
if (!item.Geschlecht.Equals("Männlich") && isOtherActive == false)
{
newItems.Add(item);
}
else if (isOtherActive)
{
newItems.Add(item);
}
}
}
GridDataControlMitarbeiterVertretungsearchview.ItemsSource = newItems;
GridDataControlMitarbeiterVertretungsearchview.RefreshData();
GridDataControlMitarbeiterVertretungsearchview.RefreshUI();
}
private void OrtKlient_OnTextChanged(object sender, TextChangedEventArgs e)
{
bool ruecksetzpunkt = false;
List<SearchViewDaten> ndaten = new List<SearchViewDaten>();
foreach (var daten in alleMitarbeiterDaten)
{
if (daten.Stadt != null)
{
if (daten.Stadt.StartsWith(OrtKlient.Text))
{
ndaten.Add(daten);
}
}
if (daten.Stadt != null && OrtKlient.Text.Length == 0)
{
if (!ruecksetzpunkt)
ruecksetzpunkt = true;
}
}
if (ruecksetzpunkt)
{
GridDataControlMitarbeiterVertretungsearchview.ItemsSource = alleMitarbeiterDaten;
//aktuelleDaten = alleMitarbeiterDaten;
}
else
{
GridDataControlMitarbeiterVertretungsearchview.ItemsSource = ndaten;
// aktuelleDaten = ndaten;
}
GridDataControlMitarbeiterVertretungsearchview.RefreshData();
GridDataControlMitarbeiterVertretungsearchview.RefreshUI();
}
}
@@ -337,49 +828,30 @@ namespace BeWo.SchulbegleitenderDienst
}
public class CustomKlientEventArgs : EventArgs
{
private CompactCustomerDC dc;
private DateTime? startdt;
private DateTime? enddt;
public CustomKlientEventArgs(CompactCustomerDC s, DateTime? start, DateTime? ende)
{
dc = s;
startdt = start;
enddt = ende;
}
public CompactCustomerDC Message
{
get { return dc; }
}
public DateTime? StartDate
{
get { return startdt; }
}
public DateTime? EndDate
{
get { return enddt; }
}
}
public class SearchViewDaten
{
public string Name { get; set; }
public string Adress { get; set; }
public string Postleitzahl { get; set; }
public string Straße { get; set; }
public string Stadt { get; set; }
public string Geschlecht { get; set; }
public string Arbeitszeit { get; set; }
public CompactVertreterEmployeeDC EmployeeDC{ get; set; }
public SearchViewDaten(string name, string adresse, string arbeitszeit, CompactVertreterEmployeeDC empdc)
public SearchViewDaten(string name, string postleitzahl, string strasse, string stadt, string arbeitszeit, CompactVertreterEmployeeDC empdc,string geschlecht)
{
Name = name;
Adress = adresse;
Postleitzahl = postleitzahl;
Straße = strasse;
Stadt = stadt;
Arbeitszeit = arbeitszeit;
EmployeeDC = empdc;
Geschlecht = geschlecht;
}

View File

@@ -0,0 +1,297 @@
<Window x:Class="BeWo.SchulbegleitenderDienst.SchulbegleitenderDienstMitarbeiterBearbeitungsView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:view="clr-namespace:BeWo.View"
xmlns:controls="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
xmlns:search="clr-namespace:BeWo.View.Search"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
Title="Vertretung auswählen" Height="650" Width="750" WindowStartupLocation="CenterScreen"
ResizeMode="CanResizeWithGrip" WindowStyle="None" Background="Transparent">
<GroupBox Header="Vertretenden auswählen" x:Name="rootGroupBox" Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown" >
<Grid>
<Grid Background="White" x:Name="rootGroupBoxMitarbeiter" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="225"/>
<RowDefinition Height="125"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- ############################### Oberes 1/3 auswahl Kriterien ################################################ -->
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250" />
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="125"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GroupBox Header="Mitarbeiter Wunsch Kriterien" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<!-- Ready machen für teilweise funktion / Combobox zur auswahl der tokens und TextBox zur anzeige der ausgewählten tokens -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- <controls:NullItemComboBox Grid.Row="0" Grid.Column="0" x:Name="MitarbeiterWunschAuswahl" SelectionChanged="MitarbeiterWunschAuswahl_OnSelectionChanged" Width="200" Height="23" Visibility="Collapsed" /> -->
<TextBox Grid.Row="1" Grid.Column="0" Margin="3" x:Name="MitarbeiterWunschAnzeige" MinHeight="50" TextWrapping="Wrap" Width="200" IsReadOnly="True" />
</Grid>
</GroupBox>
<GroupBox Header="Mitarbeiter Ausschluss Kriterien" Grid.Row="0" Grid.Column="2" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3">
<!-- Ready machen für teilweise funktion <ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/> <RowDefinition Height="Auto"/>-->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- <controls:NullItemComboBox Grid.Row="0" Grid.Column="0" x:Name="MitarbeiterAussschlussAuswahl" SelectionChanged="MitarbeiterAussschlussAuswahl_OnSelectionChanged" Width="200" Height="23" Visibility="Collapsed"/> -->
<TextBox Grid.Row="1" Margin="3" Grid.Column="0" x:Name="MitarbeiterAussschlussAnzeige" Width="200" MinHeight="50" TextWrapping="Wrap" IsReadOnly="True"/>
</Grid>
</GroupBox>
<GroupBox Header="Klient Wunsch Kriterien" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<!-- ############### wird durch Token Combobox mit devexpress vers. 17 ersetzt ################################## -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<controls:NullItemComboBox Grid.Row="0" Grid.Column="0" x:Name="KlientWunschAuswahl" SelectionChanged="KlientWunschAuswahl_OnSelectionChanged" Width="200" Height="23" />
<TextBox Grid.Row="1" Margin="3" Grid.Column="0" x:Name="KlientWunschAnzeige" Width="200" MinHeight="50" TextWrapping="Wrap" IsReadOnly="True"/>
</Grid>
<!-- ############################################################################################################## -->
</GroupBox>
<GroupBox Header="Klient Ausschluss Kriterien" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<!-- ############### wird durch Token Combobox mit devexpress vers. 17 ersetzt ################################## -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<controls:NullItemComboBox Grid.Row="0" Grid.Column="0" x:Name="KlientAussschlussAuswahl" SelectionChanged="KlientAussschlussAuswahl_OnSelectionChanged" Width="200" Height="23" />
<TextBox Grid.Row="1" Margin="3" Grid.Column="0" x:Name="KlientAussschlussAnzeige" Width="200" MinHeight="50" TextWrapping="Wrap" IsReadOnly="True"/>
</Grid>
<!-- ############################################################################################################## -->
</GroupBox>
<GroupBox Header="Geschlecht" Grid.Row="0" Grid.Column="4" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3">
<WrapPanel Orientation="Horizontal">
<CheckBox Content="männlich" Margin="3,3,3,3" Click="RBMaennlich_OnClick" x:Name="RBMaennlich" IsChecked="True"/>
<CheckBox Content="weiblich" Margin="3,3,3,3" Click="RBWeiblich_OnClick" x:Name="RBWeiblich" IsChecked="True" />
</WrapPanel>
</GroupBox>
<Grid Column="4" Grid.Row="1" Margin="3,3,3,3">
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition Height="60"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GroupBox Grid.Row="0" Margin="1" Style="{StaticResource ObjectEditGroupBox}" Header="Klienten PLZ">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<WrapPanel Orientation="Horizontal" Margin="1" HorizontalAlignment="Left" Grid.Column="0">
<Label Content ="Plz:" />
<Label x:Name="LabelPlzMitarbeiter" Width="50" />
</WrapPanel>
<WrapPanel Orientation="Horizontal" Margin="1" HorizontalAlignment="Right" Grid.Column="1">
<Label Content="Ort:"/>
<Label x:Name="LabelOrtMitarbeiter" Width="100" />
</WrapPanel>
</Grid>
</GroupBox>
<GroupBox Grid.Row="1" Margin="1" Style="{StaticResource ObjectEditGroupBox}" Header="Suche nach">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="1" Grid.Column="0">
<Label Content="Plz:" />
<dxe:TextEdit x:Name="PlzMitarbeiter" Height="23" Width="50" VerticalContentAlignment="Center" EditValueChanged="PlzMitarbeiter_OnEditValueChanged" MaskType="RegEx" Mask="\d{1,5}" ShowError="False" />
</WrapPanel>
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="1" Grid.Column="1">
<Label Content="Ort:" />
<TextBox x:Name="OrtMitarbeiter" Height="23" Width="100" VerticalContentAlignment="Center" TextChanged="OrtMitarbeiter_OnTextChanged" />
</WrapPanel>
</Grid>
</GroupBox>
</Grid>
</Grid>
<!-- ##################################################################################################################### -->
<!--Bereich einfügen um auszuwählen ob ganzen tag oder nur teilweise -->
<GroupBox Header="Vertretungs Zeitraum" Grid.Row="1" Grid.Column="0" Style="{StaticResource ObjectEditGroupBox}" Margin="3,3,3,3" >
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto"/>
<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"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<CheckBox Grid.Column="0" Grid.Row="0" Content="ganztägig" Unchecked="KVCheckBox_OnUnchecked" Checked="KVCheckBox_OnChecked"
Grid.ColumnSpan="6" HorizontalAlignment="Right" x:Name="KVCheckBox" />
<Label Grid.Row="1" Grid.Column="0" Content="Vertretung Von" />
<Label Grid.Row="2" Grid.Column="0" Content="Vertretung Bis" />
<Label Grid.Row="1" Grid.Column="2" Content="Uhrzeit Von" x:Name="KVLabelUhrzeitVon" />
<Label Grid.Row="2" Grid.Column="2" Content="Uhrzeit Bis" 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"/>
<dxe:DateEdit x:Name="KVDatepickerBis" MaskType="DateTimeAdvancingCaret" Grid.Column="1" Grid.Row="2" Margin="3" Height="23" Width="125" EditValueChanged="KVDatepickerBis_OnEditValueChanged" />
<dxe:TextEdit Grid.Column="3" Grid.Row="1" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" x:Name="KVDatepicker_UhrzeitVon"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
Height="23" Grid.ColumnSpan="2" Visibility="Visible" Width="75"
Margin="3,3,3,3"/>
<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"/>
</Grid>
</GroupBox>
<!--##################################################################-->
<!-- ##################################### unterer 2/3 Mitarbeiter Controll ####################################### -->
<!--<search:EmployeeSearchView Grid.Row="2" Grid.Column="0" x:Name="MitarbeiterVertretungsearchview" Margin="3,3,3,3" ItemSelected="MitarbeiterVertretungsearchview_OnItemSelected" />-->
<!-- Aus der SearchView ein Grid Bauen das mehr Informationen Enthält / zurzeit Name Adresse Arbeitszeit -->
<dxg:GridControl x:Name="GridDataControlKlientVertretungsearchview" Visibility="Visible" Grid.Row="2" Grid.Column="0" AllowDrop="true" Margin="3,3,3,3" VerticalContentAlignment="Center" >
<dxg:GridControl.Columns >
<dxg:GridColumn FieldName="Name" Width="155" ReadOnly="True" Header="Name"/>
<dxg:GridColumn FieldName="Postleitzahl" Width="75" ReadOnly="True" Header="Postleitzahl" />
<dxg:GridColumn FieldName="Straße" Width="100" ReadOnly="True" Header="Starße" />
<dxg:GridColumn FieldName="Stadt" Width="105" ReadOnly="True" Header="Stadt" />
<dxg:GridColumn FieldName="Geschlecht" Width="75" ReadOnly="True" Header="Geschlecht" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" />
</dxg:GridControl.View>
</dxg:GridControl>
<!-- ################################################################################################## Margin="3,3,3,3"-->
<StackPanel Grid.Row="3" Grid.Column="0" >
<WrapPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Bottom" >
<Button Content="Übernehmen" Width="90" Click="ButtonBase_OnClick" Margin="3,3,3,3" />
<Button Content="Schließen" Width="90" Click="ButtonClose_OnClick" Margin="3,3,3,3"/>
</WrapPanel>
</StackPanel>
<!-- ####################### Closed="popup_Closed" Opened="popup_Opened"###StaysOpen="False"Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" #################################################################################### -->
</Grid>
</Grid>
</GroupBox>
</Window>

View File

@@ -0,0 +1,645 @@
using System;
using System.Linq;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using BeWo.ServiceProxy;
using BeWo.ViewModel;
using BS.Shared.Extensions;
using System.Windows.Controls;
using System.Net.Sockets;
using System.Threading;
using System.Windows.Threading;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Net;
using System.Text;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Media.Imaging;
using BeWo.Controls;
using BeWo.Core;
using BeWo.Core.Service;
using BeWo.View.Detail;
using BeWo.ViewModel.ListViewModel;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.Editors;
using DevExpress.XtraPrinting.Native;
using DevExpress.XtraPrinting.XamlExport;
using Microsoft.Office.Interop.Word;
using Color = System.Drawing.Color;
using KeyEventArgs = System.Windows.Input.KeyEventArgs;
using MessageBox = System.Windows.MessageBox;
using TextBox = System.Windows.Controls.TextBox;
namespace BeWo.SchulbegleitenderDienst
{
public partial class SchulbegleitenderDienstMitarbeiterBearbeitungsView
{
public event EventHandler<CustomKlientEventArgs> RaiseCustomEvent;
//public event EventHandler<CustomKlientEventArgs> RaiseKlientCustomEvent;
private DateTime? _startDate;
private DateTime? _endDate;
private List<SearchKlientViewDaten> _dataListEmployee = new List<SearchKlientViewDaten>();
private readonly long? _employeeOid = 10;
List<SearchKlientViewDaten> aktuelleDaten = new List<SearchKlientViewDaten>();
List<SearchKlientViewDaten> alleMitarbeiterDaten = new List<SearchKlientViewDaten>();
private Dictionary<string, TokenDC> verfuegbareW = new Dictionary<string, TokenDC>();
private Dictionary<string, TokenDC> gesetzteW = new Dictionary<string, TokenDC>();
private Dictionary<string, TokenDC> verfuegbareA = new Dictionary<string, TokenDC>();
private Dictionary<string, TokenDC> gesetzteA = new Dictionary<string, TokenDC>();
public SchulbegleitenderDienstMitarbeiterBearbeitungsView(DateTime? startdate, DateTime? enddate, DateTime currentDate, long? employeeOid)
{
InitializeComponent();
CloseWindow();
SetMitarbeiterKriteria();
SetMitarbeiterInformationen();
GetAllKlienttokens();
LoadAllKlientenIngridData();
rootGroupBox.Header += " / " + currentDate.ToString("dddd dd.MM.yyyy");
_startDate = startdate;
_endDate = enddate;
_employeeOid = employeeOid;
if (_startDate != null)
KVDatepickerVon.EditValue = _startDate;
if (_endDate != null)
KVDatepickerBis.EditValue = _endDate;
//Width = System.Windows.SystemParameters.PrimaryScreenWidth / 2;
//Height = System.Windows.SystemParameters.PrimaryScreenWidth / 2;
}
private void RootGroupBox_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
try
{
DragMove();
}
catch (Exception)
{
}
}
private void CloseWindow()
{
CommandBindings.Add(
new CommandBinding(
ApplicationCommands.Close,
(s, e) =>
{
Close();
}));
}
private void SetMitarbeiterKriteria()
{
var tokenlist = ServiceFacade.DoOperationsServiceSync(r => r.GetAllTokens(SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter, _employeeOid));
foreach (var tkList in tokenlist)
{
if (tkList.TokenTyp == TokenTyp.WunschKriterium)
{
MitarbeiterWunschAnzeige.Text = tkList.Beschreibung + "; ";
}
else if (tkList.TokenTyp == TokenTyp.AusschlussKriterium)
{
MitarbeiterAussschlussAnzeige.Text = tkList.Beschreibung + "; ";
}
}
}
private void GetAllKlienttokens()
{
verfuegbareW.Clear();
gesetzteW.Clear();
verfuegbareA.Clear();
gesetzteA.Clear();
ServiceFacade.DoOperationsServiceAsync(
r => r.GetAllTokens(SchulbegleitenderZugehörigkeitsTyp.Klient, 0), x => this.Dispatch(delegate
{
List<string> wunschliste = new List<string>();
List<string> ausschlussliste = new List<string>();
foreach (var token in x)
{
if (token.TokenTyp == TokenTyp.WunschKriterium)
{
if (!verfuegbareW.ContainsKey(token.Beschreibung))
verfuegbareW.Add(token.Beschreibung, token);
wunschliste.Add(token.Beschreibung);
}
if (token.TokenTyp == TokenTyp.AusschlussKriterium)
{
if (!verfuegbareA.ContainsKey(token.Beschreibung))
verfuegbareA.Add(token.Beschreibung, token);
ausschlussliste.Add(token.Beschreibung);
}
}
KlientWunschAuswahl.ItemsSource = wunschliste;
KlientAussschlussAuswahl.ItemsSource = ausschlussliste;
}));
}
private void KlientWunschAuswahl_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var item = sender as NullItemComboBox;
if (item.SelectedItem != null && !item.SelectedItem.ToString().Equals(""))
{
KlientWunschAnzeige.Text += item.SelectedItem + "; ";
KlientWunschAuswahl.SelectedIndex = 0;
SortKlientliste();
}
}
private void KlientAussschlussAuswahl_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
var item = sender as NullItemComboBox;
if (item.SelectedItem != null && !item.SelectedItem.ToString().Equals(""))
{
KlientAussschlussAnzeige.Text += item.SelectedItem + "; ";
KlientAussschlussAuswahl.SelectedIndex = 0;
SortKlientliste();
}
}
public void SortKlientliste()
{
List<SearchKlientViewDaten> nSVD = new List<SearchKlientViewDaten>();
var x = ServiceFacade.DoOperationsServiceSync(r => r.GetCustomer2TokenList());
bool isAusschluss = false;
foreach (var daten in alleMitarbeiterDaten)
{
foreach (var item in x)
{
if (daten.CustomerDC.CustomerOid == item.Customer.CustomerOid)
{
foreach (var gesA in gesetzteA)
{
if (item.Token.TokenOid == gesA.Value.TokenOid)
{
if (!nSVD.Contains(daten))
nSVD.Add(daten);
isAusschluss = true;
}
}
foreach (var gesW in gesetzteW)
{
if (item.Token.TokenOid == gesW.Value.TokenOid)
{
if (isAusschluss)
{
isAusschluss = false;
}
else
{
if (!nSVD.Contains(daten))
nSVD.Add(daten);
}
}
}
if (isAusschluss)
{
isAusschluss = false;
}
}
}
}
GridDataControlKlientVertretungsearchview.ItemsSource = nSVD;
GridDataControlKlientVertretungsearchview.RefreshData();
GridDataControlKlientVertretungsearchview.RefreshUI();
aktuelleDaten = nSVD;
}
private void RBMaennlich_OnClick(object sender, RoutedEventArgs e)
{
bool isOtherActive = RBWeiblich.IsChecked.Value;
if (RBMaennlich.IsChecked.Value)
{
GeschlechtsUmwandlung(3, isOtherActive);
}
else
{
GeschlechtsUmwandlung(1, isOtherActive);
}
}
private void RBWeiblich_OnClick(object sender, RoutedEventArgs e)
{
bool isOtherActive = RBMaennlich.IsChecked.Value;
if (RBWeiblich.IsChecked.Value)
{
GeschlechtsUmwandlung(4, isOtherActive);
}
else
{
GeschlechtsUmwandlung(2, isOtherActive);
}
}
private void GeschlechtsUmwandlung(int i, bool isOtherActive)
{
List<SearchKlientViewDaten> newItems = new List<SearchKlientViewDaten>();
// 1 == entferne jungs | 2 == entferne mädels | 3 füge jungs hinzu | 4 füge mädels hinzu
if (i == 1)
{
foreach (var item in aktuelleDaten)
{
if (item.Geschlecht.Equals("Weiblich") && isOtherActive)
{
newItems.Add(item);
}
}
}
else if (i == 2)
{
foreach (var item in aktuelleDaten)
{
if (item.Geschlecht.Equals("Männlich") && isOtherActive)
{
newItems.Add(item);
}
}
}
else if (i == 3)
{
foreach (var item in aktuelleDaten)
{
if (!item.Geschlecht.Equals("Weiblich") && isOtherActive == false)
{
newItems.Add(item);
}
else if (isOtherActive)
{
newItems.Add(item);
}
}
}
else if (i == 4)
{
foreach (var item in aktuelleDaten)
{
if (!item.Geschlecht.Equals("Männlich") && isOtherActive == false)
{
newItems.Add(item);
}
else if (isOtherActive)
{
newItems.Add(item);
}
}
}
GridDataControlKlientVertretungsearchview.ItemsSource = newItems;
GridDataControlKlientVertretungsearchview.RefreshData();
GridDataControlKlientVertretungsearchview.RefreshUI();
}
private void SetMitarbeiterInformationen()
{
var employee = ServiceFacade.DoEmployeeServiceSync(r => r.GetEmployeeByID(_employeeOid.Value));
LabelPlzMitarbeiter.Content = employee.PostalCode;
LabelOrtMitarbeiter.Content = employee.Town;
}
private void PlzMitarbeiter_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
{
bool ruecksetzpunkt = false;
List<SearchKlientViewDaten> ndaten = new List<SearchKlientViewDaten>();
foreach (var daten in alleMitarbeiterDaten)
{
if (daten.Postleitzahl != null)
{
if (daten.Postleitzahl.StartsWith(PlzMitarbeiter.Text))
{
ndaten.Add(daten);
}
}
if (daten.Postleitzahl != null && PlzMitarbeiter.Text.Length == 0)
{
if (!ruecksetzpunkt)
ruecksetzpunkt = true;
}
}
if (ruecksetzpunkt)
{
GridDataControlKlientVertretungsearchview.ItemsSource = alleMitarbeiterDaten;
//aktuelleDaten = alleMitarbeiterDaten; // sollte sich so verhalten wie bei geschlecht
}
else
{
GridDataControlKlientVertretungsearchview.ItemsSource = ndaten;
// aktuelleDaten = ndaten;
}
GridDataControlKlientVertretungsearchview.RefreshData();
GridDataControlKlientVertretungsearchview.RefreshUI();
}
private void OrtMitarbeiter_OnTextChanged(object sender, TextChangedEventArgs e)
{
bool ruecksetzpunkt = false;
List<SearchKlientViewDaten> ndaten = new List<SearchKlientViewDaten>();
foreach (var daten in alleMitarbeiterDaten)
{
if (daten.Stadt != null)
{
if (daten.Stadt.StartsWith(OrtMitarbeiter.Text))
{
ndaten.Add(daten);
}
}
if (daten.Stadt != null && OrtMitarbeiter.Text.Length == 0)
{
if (!ruecksetzpunkt)
ruecksetzpunkt = true;
}
}
if (ruecksetzpunkt)
{
GridDataControlKlientVertretungsearchview.ItemsSource = alleMitarbeiterDaten;
//aktuelleDaten = alleMitarbeiterDaten;
}
else
{
GridDataControlKlientVertretungsearchview.ItemsSource = ndaten;
// aktuelleDaten = ndaten;
}
GridDataControlKlientVertretungsearchview.RefreshData();
GridDataControlKlientVertretungsearchview.RefreshUI();
}
// ################ Vertretungszeitraumswahl ##############################################
private void KVCheckBox_OnUnchecked(object sender, RoutedEventArgs e)
{
KVDatepicker_UhrzeitBis.Text = "";
KVDatepicker_UhrzeitBis.Visibility = Visibility.Visible;
KVLabelUhrzeitVon.Visibility = Visibility.Visible;
KVDatepicker_UhrzeitVon.Text = "";
KVDatepicker_UhrzeitVon.Visibility = Visibility.Visible;
KVLabelUhrzeitBis.Visibility = Visibility.Visible;
}
private void KVCheckBox_OnChecked(object sender, RoutedEventArgs e)
{
KVDatepicker_UhrzeitBis.Visibility = Visibility.Collapsed;
KVLabelUhrzeitVon.Visibility = Visibility.Collapsed;
KVDatepicker_UhrzeitVon.Visibility = Visibility.Collapsed;
KVLabelUhrzeitBis.Visibility = Visibility.Collapsed;
}
private void KVDatepickerVon_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
{
DateEdit ed = (DateEdit)sender;
DateTime date = ed.DateTime;
if (date > _endDate.Value || date < _startDate.Value)
{
KVDatepickerVon.EditValue = _startDate.Value;
}
}
private void KVDatepickerBis_OnEditValueChanged(object sender, EditValueChangedEventArgs e)
{
DateEdit ed = (DateEdit)sender;
DateTime date = ed.DateTime;
if (date < _startDate.Value || date > _endDate.Value)
{
KVDatepickerBis.EditValue = _endDate.Value;
}
}
//################################################################################################
private void LoadAllKlientenIngridData()
{
ServiceFacade.DoCustomerServiceAsync(s => s.GetAllActiveCompactCustomers(), customerList => this.Dispatch(
delegate
{
foreach (var cus in customerList)
{
var geschlecht = cus.Sex == Sex.Male ? "Männlich" : "Weiblich";
_dataListEmployee.Add(
new SearchKlientViewDaten(cus.FirstName + " " + cus.LastName, cus.PostalCode, cus.Street, cus.Town, cus, geschlecht));
}
GridDataControlKlientVertretungsearchview.ItemsSource = _dataListEmployee;
aktuelleDaten = _dataListEmployee;
alleMitarbeiterDaten = _dataListEmployee;
}));
}
private void ButtonClose_OnClick(object sender, RoutedEventArgs e)
{
Close();
}
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
//Rückgabe der Daten
var item = GridDataControlKlientVertretungsearchview.SelectedItem as SearchKlientViewDaten;
CompactCustomerDC x = item.CustomerDC;
if (GridDataControlKlientVertretungsearchview.SelectedItem != null)
{
if (_startDate.HasValue && _endDate.HasValue && KVCheckBox.IsChecked.Value)
{
RaiseCustomEvent(this, new CustomKlientEventArgs(x, _startDate, _endDate));
Close();
}
else if (!KVDatepickerVon.Text.Equals("") && !KVDatepickerBis.Text.Equals("") && _startDate.HasValue && _endDate.HasValue && !KVDatepicker_UhrzeitVon.Text.Equals("") && !KVDatepicker_UhrzeitBis.Text.Equals(""))
{
var von = KVDatepicker_UhrzeitVon.Text;
var bis = KVDatepicker_UhrzeitBis.Text;
if (von.Length < 5)
{
von = "0" + von;
}
if (bis.Length < 5)
{
bis = "0" + bis;
}
DateTime dateVon = DateTime.ParseExact(von, "HH:mm", CultureInfo.CurrentCulture);
DateTime dateBis = DateTime.ParseExact(bis, "HH:mm", CultureInfo.CurrentCulture);
if (dateVon > dateBis)
{
MessageBox.Show("Die Startzeit darf nicht größer sein als die Endzeit.");
}
else
{
DateTime? xVon = new DateTime(_startDate.Value.Year, _startDate.Value.Month, _startDate.Value.Day, dateVon.Hour, dateVon.Minute, dateVon.Second);
DateTime? xBis = new DateTime(_endDate.Value.Year, _endDate.Value.Month, _endDate.Value.Day, dateBis.Hour, dateBis.Minute, dateBis.Second);
RaiseCustomEvent(this, new CustomKlientEventArgs(x, xVon, xBis));
Close();
}
}
else
{
if (_startDate.HasValue && _endDate.HasValue && (KVDatepicker_UhrzeitVon.Text.Equals("") || KVDatepicker_UhrzeitBis.Text.Equals("")) && !KVCheckBox.IsChecked.Value)
{
MessageBox.Show("Bitte Geben sie eine Start Uhrzeit und eine End Uhrzeit an.");
}
else
{
MessageBox.Show("Bitte Geben sie ein Start und ein Enddatum an.");
}
}
}
else
{
MessageBox.Show("Bitte wählen sie zuerst einen Klienten aus.");
}
}
}
public class CustomKlientEventArgs : EventArgs
{
private CompactCustomerDC dc;
private DateTime? startdt;
private DateTime? enddt;
public CustomKlientEventArgs(CompactCustomerDC s, DateTime? start, DateTime? ende)
{
dc = s;
startdt = start;
enddt = ende;
}
public CompactCustomerDC Message
{
get { return dc; }
}
public DateTime? StartDate
{
get { return startdt; }
}
public DateTime? EndDate
{
get { return enddt; }
}
}
public class SearchKlientViewDaten
{
public string Name { get; set; }
public string Postleitzahl { get; set; }
public string Straße { get; set; }
public string Stadt { get; set; }
public string Geschlecht { get; set; }
public CompactCustomerDC CustomerDC { get; set; }
public SearchKlientViewDaten(string name, string postleitzahl, string strasse, string stadt, CompactCustomerDC comcudc, string geschlecht)
{
Name = name;
Postleitzahl = postleitzahl;
Straße = strasse;
Stadt = stadt;
CustomerDC = comcudc;
Geschlecht = geschlecht;
}
}
}

View File

@@ -166,6 +166,10 @@ namespace BeWo.ServiceProxy
public interface IEmployeeService
{
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetEmployeeByID", ReplyAction="http://tempuri.org/IEmployeeService/GetEmployeeByIDResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetEmployeeByIDBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.EmployeeDC GetEmployeeByID(long employeeOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/ArchiveEmployee", ReplyAction="http://tempuri.org/IEmployeeService/ArchiveEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/ArchiveEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void ArchiveEmployee(long pOid, long pVersion);
@@ -522,6 +526,11 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllActiveVertreterEmployeesCompactBeWoFaul" +
"tFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactVertreterEmployeeDC> GetAllActiveVertreterEmployeesCompact();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/LoadEmployeeTokenRelationsByOid", ReplyAction="http://tempuri.org/IEmployeeService/LoadEmployeeTokenRelationsByOidResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadEmployeeTokenRelationsByOidBeWoFaultFault" +
"", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeTokenRelationDC> LoadEmployeeTokenRelationsByOid(System.Collections.Generic.List<long> pOids);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -558,6 +567,11 @@ namespace BeWo.ServiceProxy
{
}
public BS.Shared.DataContracts.EmployeeDC GetEmployeeByID(long employeeOid)
{
return base.Channel.GetEmployeeByID(employeeOid);
}
public void ArchiveEmployee(long pOid, long pVersion)
{
base.Channel.ArchiveEmployee(pOid, pVersion);
@@ -977,6 +991,11 @@ namespace BeWo.ServiceProxy
{
return base.Channel.GetAllActiveVertreterEmployeesCompact();
}
public System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeTokenRelationDC> LoadEmployeeTokenRelationsByOid(System.Collections.Generic.List<long> pOids)
{
return base.Channel.LoadEmployeeTokenRelationsByOid(pOids);
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -1289,6 +1308,18 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/GetPersonForOrganisationsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.Compact.CompactPersonDC> GetPersonForOrganisations(long organisationoid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/LoadCustomerTokenRelationsByOid", ReplyAction="http://tempuri.org/ICustomerService/LoadCustomerTokenRelationsByOidResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/LoadCustomerTokenRelationsByOidBeWoFaultFault" +
"", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.CustomerTokenRelationDC> LoadCustomerTokenRelationsByOid(System.Collections.Generic.List<long> pOids);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/GetPersonWithCustomerOid", ReplyAction="http://tempuri.org/ICustomerService/GetPersonWithCustomerOidResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/GetPersonWithCustomerOidBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.CustomerDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.WohnheimDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.EmployeeDC))]
BS.Shared.DataContracts.PersonDC GetPersonWithCustomerOid(long oid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ICustomerService/ArchiveCustomer", ReplyAction="http://tempuri.org/ICustomerService/ArchiveCustomerResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/ICustomerService/ArchiveCustomerBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void ArchiveCustomer(long pOid, long pVersion);
@@ -2048,6 +2079,16 @@ namespace BeWo.ServiceProxy
return base.Channel.GetPersonForOrganisations(organisationoid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.CustomerTokenRelationDC> LoadCustomerTokenRelationsByOid(System.Collections.Generic.List<long> pOids)
{
return base.Channel.LoadCustomerTokenRelationsByOid(pOids);
}
public BS.Shared.DataContracts.PersonDC GetPersonWithCustomerOid(long oid)
{
return base.Channel.GetPersonWithCustomerOid(oid);
}
public void ArchiveCustomer(long pOid, long pVersion)
{
base.Channel.ArchiveCustomer(pOid, pVersion);
@@ -4205,6 +4246,40 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void UpdateAbsenceTime(BS.Shared.DataContracts.AbsenceTimeDC abs);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetAllTokens", ReplyAction="http://tempuri.org/IOperationsService/GetAllTokensResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetAllTokensBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.TokenDC> GetAllTokens(BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable<long> oid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteToken", ReplyAction="http://tempuri.org/IOperationsService/DeleteTokenResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteToken(BS.Shared.DataContracts.TokenDC token);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewToken", ReplyAction="http://tempuri.org/IOperationsService/InsertNewTokenResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertNewToken(string beschreibung, BS.Shared.TokenTyp typ, BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable<long> oid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewRelationToken", ReplyAction="http://tempuri.org/IOperationsService/InsertNewRelationTokenResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewRelationTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertNewRelationToken(BS.Shared.DataContracts.TokenDC token, BS.Shared.TokenTyp typ, BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable<long> oid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateToken", ReplyAction="http://tempuri.org/IOperationsService/UpdateTokenResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateTokenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void UpdateToken(BS.Shared.DataContracts.TokenDC token);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetCustomer2TokenList", ReplyAction="http://tempuri.org/IOperationsService/GetCustomer2TokenListResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetCustomer2TokenListBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.CustomerTokenRelationDC> GetCustomer2TokenList();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetEmployee2TokenList", ReplyAction="http://tempuri.org/IOperationsService/GetEmployee2TokenListResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetEmployee2TokenListBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeTokenRelationDC> GetEmployee2TokenList();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/VertretungsMitarbeiterListeWoechentlich", ReplyAction="http://tempuri.org/IOperationsService/VertretungsMitarbeiterListeWoechentlichResp" +
"onse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/VertretungsMitarbeiterListeWoechentlichBeWo" +
"FaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.VertretungsListeMitarbeiterItemsDC> VertretungsMitarbeiterListeWoechentlich(System.DateTime start, System.DateTime ende);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeactivateInvoices", ReplyAction="http://tempuri.org/IOperationsService/DeactivateInvoicesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeactivateInvoicesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeactivateInvoices(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceDC> invoices);
@@ -4950,6 +5025,46 @@ namespace BeWo.ServiceProxy
base.Channel.UpdateAbsenceTime(abs);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.TokenDC> GetAllTokens(BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable<long> oid)
{
return base.Channel.GetAllTokens(zugehoerigkeitsTyp, oid);
}
public void DeleteToken(BS.Shared.DataContracts.TokenDC token)
{
base.Channel.DeleteToken(token);
}
public void InsertNewToken(string beschreibung, BS.Shared.TokenTyp typ, BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable<long> oid)
{
base.Channel.InsertNewToken(beschreibung, typ, zugehoerigkeitsTyp, oid);
}
public void InsertNewRelationToken(BS.Shared.DataContracts.TokenDC token, BS.Shared.TokenTyp typ, BS.Shared.SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, System.Nullable<long> oid)
{
base.Channel.InsertNewRelationToken(token, typ, zugehoerigkeitsTyp, oid);
}
public void UpdateToken(BS.Shared.DataContracts.TokenDC token)
{
base.Channel.UpdateToken(token);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.CustomerTokenRelationDC> GetCustomer2TokenList()
{
return base.Channel.GetCustomer2TokenList();
}
public System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeTokenRelationDC> GetEmployee2TokenList()
{
return base.Channel.GetEmployee2TokenList();
}
public System.Collections.Generic.List<BS.Shared.DataContracts.VertretungsListeMitarbeiterItemsDC> VertretungsMitarbeiterListeWoechentlich(System.DateTime start, System.DateTime ende)
{
return base.Channel.VertretungsMitarbeiterListeWoechentlich(start, ende);
}
public void DeactivateInvoices(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceDC> invoices)
{
base.Channel.DeactivateInvoices(invoices);

View File

@@ -1017,7 +1017,7 @@ namespace BeWo.View.Detail
{
if (tabitem_schuldienst.Content == null)
{
tabitem_schuldienst.Content = new SchulbegleitenderDienstCustomer(TableID.Customer, ViewModel.DataContract.CustomerOid.Value);
tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.CustomerOid.Value,SchulbegleitenderZugehörigkeitsTyp.Klient);
}
}

View File

@@ -692,6 +692,8 @@
<TabItem Header="Chat Service" Name="tabitem_chatservice" Selector.Selected="tabitem_chatservice_Selected" />
<TabItem Header="Schulbegleitender Dienst" Name="tabitem_schuldienst" Selector.Selected="tabitem_SchulDienst_Selected" />
</TabControl>
<Border Grid.Row="2" Grid.ColumnSpan="3" Height="40" Margin="0,10,0,0" VerticalAlignment="Stretch" Background="#FF000000">
<Border.OpacityMask>

View File

@@ -464,6 +464,14 @@ namespace BeWo.View.Detail
}
}
private void tabitem_SchulDienst_Selected(object sender, RoutedEventArgs e)
{
if (tabitem_schuldienst.Content == null)
{
tabitem_schuldienst.Content = new SchulbegleitenderDienst(TableID.Customer, ViewModel.DataContract.EmployeeOid.Value,SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter);
}
}
private void button_addContract_Click(object sender, RoutedEventArgs e)
{
ViewModel.Contracts.AddNewVMToList();

View File

@@ -0,0 +1,107 @@
<localView:BeWoView x:Class="BeWo.View.SchulbegleitenderDienst"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
VerticalAlignment="Stretch" Focusable="True">
<Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox Grid.ColumnSpan="2" Padding="5" Style="{StaticResource ObjectEditGroupBox}" Header="Schulbegleitender Dienst">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<GroupBox Header="Ausschlusskriterien" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0" >
<Grid>
<Grid.ColumnDefinitions>
<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>
<Label Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" >Hier Kommt später von Dxe grid Controll Ausschlusskriterien hin </Label>
<ComboBox x:Name="ComboAusschluss" Width="125" Height="23" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" SelectionChanged="ComboAusschluss_OnSelected"/>
<StackPanel Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Horizontal" Margin="3" HorizontalAlignment="Center">
<TextBox Width="125" Height="23" Margin="3" x:Name="TextBoxAusschluss"/>
<Button Height="23" Width="75" Content="Absenden" Click="ButtonAusschlussKriterium_OnClick"/>
</StackPanel>
<TextBox Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3" IsReadOnly="True" x:Name="TbShowAusschluss" MinHeight="50" MinWidth="150" />
</Grid>
</GroupBox>
<GroupBox Header="Wunschkriterien" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" >
<Grid>
<Grid.ColumnDefinitions>
<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>
<Label Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" Margin="3">Hier Kommt später von Dxe grid Controll Wunschkriterien hin </Label>
<ComboBox x:Name="ComboWunsch" Width="125" Height="23" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Margin="3" SelectionChanged="ComboWunsch_OnSelected"/>
<StackPanel Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Horizontal" Margin="3" HorizontalAlignment="Center">
<TextBox Width="125" Height="23" Margin="3" x:Name="TextBoxWunsch" />
<Button Width="75" Content="Absenden" Margin="3" Height="23" Click="ButtonWunschKriterium_OnClick"/>
</StackPanel>
<TextBox Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3" IsReadOnly="True" x:Name="TbShowWunsch" MinHeight="50" MinWidth="150" />
</Grid>
</GroupBox>
</Grid>
</GroupBox>
</Grid>
</Grid>
</localView:BeWoView>

View File

@@ -0,0 +1,295 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls.Primitives;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Threading;
using BeWo.Core;
using BeWo.Core.Service;
using BeWo.ViewModel;
using BeWo.ServiceProxy;
using BeWo.View.Detail;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared;
using BS.Shared.Core;
using Microsoft.Win32;
using CheckBox = System.Windows.Controls.CheckBox;
using MessageBox = System.Windows.MessageBox;
namespace BeWo.View
{
public partial class SchulbegleitenderDienst
{
private CustomerVM _ViewModel;
private List<TokenDC> tokenlist = new List<TokenDC>();
// private List<TokenDC> tokenMitarbeiterlist = new List<TokenDC>();
// TableID tableid;
//long? customerOid = 0;
long? Oid = 0;
private SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp;
Dictionary<string, TokenDC> verfuegbarerWunschToken = new Dictionary<string, TokenDC>();
Dictionary<string, TokenDC> verfuegbarerAusschlussToken = new Dictionary<string, TokenDC>();
public SchulbegleitenderDienst(TableID pObjectTid, long? oid,SchulbegleitenderZugehörigkeitsTyp typ)
{
InitializeComponent();
zugehoerigkeitsTyp = typ;
Oid = oid;
//if (typ == SchulbegleitenderZugehörigkeitsTyp.Klient)
//{
// customerOid = oid;
//}
//else if (typ == SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter)
//{
// employeeOid = oid;
//}
GetAllTokenItems();
//tableid = pObjectTid;
//LaodInfostoView();
}
public CustomerVM PublicViewModel { get { return _ViewModel; } }
public override bool IsDirty
{
get
{
return ViewModel != null && ViewModel.IsDirty;
}
}
private CustomerVM ViewModel
{
get { return _ViewModel; }
set
{
DataContext = value;
_ViewModel = value;
}
}
private void GetAllTokenItems()
{
tokenlist.Clear();
ServiceFacade.DoOperationsServiceAsync(r => r.GetAllTokens(zugehoerigkeitsTyp,Oid), h => this.Dispatch(delegate
{
tokenlist = h;
SetAusschlussKriterien();
SetWunschKriterien();
}));
}
private void SetAusschlussKriterien()
{
TbShowAusschluss.Text = "";
List<string> list = new List<string>();
if (tokenlist != null)
{
foreach (var token in tokenlist)
{
if (token.TokenTyp == TokenTyp.AusschlussKriterium && token.MemberOid == Oid)
{
//list.Add(token.Beschreibung);
TbShowAusschluss.Text += token.Beschreibung + "; ";
}
else if (token.TokenTyp == TokenTyp.AusschlussKriterium)
{
list.Add(token.Beschreibung);
if (!verfuegbarerAusschlussToken.ContainsKey(token.Beschreibung))
verfuegbarerAusschlussToken.Add(token.Beschreibung,token);
}
}
}
if(list.Count > 0)
ComboAusschluss.ItemsSource = list;
}
private void SetWunschKriterien()
{
TbShowWunsch.Text = "";
List<string> list = new List<string>();
if (tokenlist != null)
{
foreach (var token in tokenlist)
{
if (token.TokenTyp == TokenTyp.WunschKriterium && token.MemberOid == Oid)
{
//list.Add(token.Beschreibung); // entfernen weik bereits ehältlich
TbShowWunsch.Text += token.Beschreibung + "; ";
}
else if(token.TokenTyp == TokenTyp.WunschKriterium)
{
list.Add(token.Beschreibung);
if(!verfuegbarerWunschToken.ContainsKey(token.Beschreibung))
verfuegbarerWunschToken.Add(token.Beschreibung,token);
}
}
}
if(list.Count > 0)
ComboWunsch.ItemsSource = list;
}
//TODO Speicher Button Aktivieren
/* private bool DoSaveCheck()
{
Cache.GetInstance().GetActiveSupportConceptCostbearer(scList =>
VMFactory.CreateServiceRecordVMAsync(
BeWoApp.LoggedOnUser.Employee.EmployeeOid,
vm => this.Dispatch(
delegate
{
ChatServiceCustomer newView = new ChatServiceCustomer(tableid, customerOid);
if (newView.CommandBindings.Count == 0)
{
newView.CommandBindings.Add(
new CommandBinding(
ApplicationCommands.Close,
(s, e) =>
{
if (!newView.DoSaveCheck())
{
return;
}
}));
newView.CommandBindings.Add(
new CommandBinding(
ApplicationCommands.Save,
(s, e) =>
{
bool save = true;
if (!save)
{
return;
}
newView.SaveData();
}));
}
})));
}
*/
private void ButtonWunschKriterium_OnClick(object sender, RoutedEventArgs e)
{
var token = TextBoxWunsch.Text;
if (verfuegbarerWunschToken.ContainsKey(token))
{
TokenDC nToken = null;
foreach (var tokenkey in verfuegbarerWunschToken)
{
if (tokenkey.Key.Equals(token))
{
nToken = tokenkey.Value;
}
}
if (nToken != null)
{
ServiceFacade.DoOperationsServiceSync(r => r.InsertNewRelationToken(nToken, TokenTyp.WunschKriterium, zugehoerigkeitsTyp, Oid));
}
}
else
{
ServiceFacade.DoOperationsServiceSync(r => r.InsertNewToken(token, TokenTyp.WunschKriterium, zugehoerigkeitsTyp,Oid));
}
TextBoxWunsch.Text = "";
GetAllTokenItems();
}
private void ButtonAusschlussKriterium_OnClick(object sender, RoutedEventArgs e)
{
var token = TextBoxAusschluss.Text;
if (verfuegbarerAusschlussToken.ContainsKey(token))
{
TokenDC nToken = null;
foreach (var tokenkey in verfuegbarerAusschlussToken)
{
if (tokenkey.Key.Equals(token))
{
nToken = tokenkey.Value;
}
}
if (nToken != null)
{
ServiceFacade.DoOperationsServiceSync(r => r.InsertNewRelationToken(nToken, TokenTyp.AusschlussKriterium, zugehoerigkeitsTyp, Oid));
}
}
else
{
ServiceFacade.DoOperationsServiceSync(r => r.InsertNewToken(token, TokenTyp.AusschlussKriterium, zugehoerigkeitsTyp, Oid));
}
TextBoxAusschluss.Text = "";
GetAllTokenItems();
}
private void ComboAusschluss_OnSelected(object sender, RoutedEventArgs e)
{
var tokendc = ComboAusschluss.SelectedItem as string;
TextBoxAusschluss.Text = tokendc;
}
private void ComboWunsch_OnSelected(object sender, RoutedEventArgs e)
{
var tokendc = ComboWunsch.SelectedItem as string;
TextBoxWunsch.Text = tokendc;
}
}
}

View File

@@ -1,59 +0,0 @@
<localView:BeWoView x:Class="BeWo.View.SchulbegleitenderDienstCustomer"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
Height="Auto" Width="Auto" HorizontalAlignment="Stretch"
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
VerticalAlignment="Stretch" Focusable="True">
<Grid>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox Grid.ColumnSpan="2" Padding="5" Style="{StaticResource ObjectEditGroupBox}" Header="Schulbegleitender Dienst">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<GroupBox Header="Ausschlusskriterien" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0" >
<Label>Hier Kommt später von Dxe grid Controll Ausschlusskriterien hin </Label>
</GroupBox>
<GroupBox Header="Wunschkriterien" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" >
<Label>Hier Kommt später von Dxe grid Controll Wunschkriterien hin </Label>
</GroupBox>
</Grid>
</GroupBox>
</Grid>
</Grid>
</localView:BeWoView>

View File

@@ -1,123 +0,0 @@
using System;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls.Primitives;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Navigation;
using System.Windows.Threading;
using BeWo.Core;
using BeWo.Core.Service;
using BeWo.ViewModel;
using BeWo.ServiceProxy;
using BeWo.View.Detail;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared;
using BS.Shared.Core;
using Microsoft.Win32;
using CheckBox = System.Windows.Controls.CheckBox;
using MessageBox = System.Windows.MessageBox;
namespace BeWo.View
{
public partial class SchulbegleitenderDienstCustomer
{
private CustomerVM _ViewModel;
// TableID tableid;
long? customerOid;
public SchulbegleitenderDienstCustomer(TableID pObjectTid, long? oid)
{
InitializeComponent();
customerOid = oid;
// tableid = pObjectTid;
//LaodInfostoView();
}
public CustomerVM PublicViewModel { get { return _ViewModel; } }
public override bool IsDirty
{
get
{
return ViewModel != null && ViewModel.IsDirty;
}
}
private CustomerVM ViewModel
{
get { return _ViewModel; }
set
{
DataContext = value;
_ViewModel = value;
}
}
//TODO Speicher Button Aktivieren
/* private bool DoSaveCheck()
{
Cache.GetInstance().GetActiveSupportConceptCostbearer(scList =>
VMFactory.CreateServiceRecordVMAsync(
BeWoApp.LoggedOnUser.Employee.EmployeeOid,
vm => this.Dispatch(
delegate
{
ChatServiceCustomer newView = new ChatServiceCustomer(tableid, customerOid);
if (newView.CommandBindings.Count == 0)
{
newView.CommandBindings.Add(
new CommandBinding(
ApplicationCommands.Close,
(s, e) =>
{
if (!newView.DoSaveCheck())
{
return;
}
}));
newView.CommandBindings.Add(
new CommandBinding(
ApplicationCommands.Save,
(s, e) =>
{
bool save = true;
if (!save)
{
return;
}
newView.SaveData();
}));
}
})));
}
*/
}
}

View File

@@ -0,0 +1,106 @@
using BeWo.Validation;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
namespace BeWo.ViewModel
{
public class CustomerTokenRelationVM : AbstractDCMapperVM<CustomerTokenRelationDC>
{
//public static string PropertyName_Notice = "Notice";
public static string PropertyName_Token = "Token";
public static string PropertyName_TokenString = "TokenString";
public static string PropertyName_Customer = "Customer";
//private string _Notice;
private CompactTokenDC _Token;
private CustomerDC _Customer;
public CustomerTokenRelationVM(CustomerTokenRelationDC pDC) : base(pDC, pDC.Customer2TokenOid == null) { }
//public string Notice
//{
// get { return _Notice; }
// set
// {
// if (AreDifferent(_Notice, value))
// {
// _Notice = value;
// StoreDirtyInformation(AreDifferent(DataContract.Customer2TokenNotice, value), PropertyName_Notice);
// FirePropertyChanged(PropertyName_Notice);
// }
// }
//}
public CompactTokenDC Token
{
get { return _Token; }
set
{
if (AreDifferent(_Token, value))
{
_Token = value;
StoreDirtyInformation(AreDifferent(DataContract.Token, value), PropertyName_Token);
FirePropertyChanged(PropertyName_Token);
FirePropertyChanged(PropertyName_TokenString);
}
}
}
public CustomerDC Customer
{
get { return _Customer; }
set
{
if (AreDifferent(_Customer, value))
{
_Customer = value;
StoreDirtyInformation(AreDifferent(DataContract.Customer, value), PropertyName_Customer);
FirePropertyChanged(PropertyName_Customer);
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public string TokenString
{
get { return _Token.ToStringNullCheck(); } // Validation Workaround
set { }
}
protected override void InitByDataContract(CustomerTokenRelationDC pDataContract)
{
if (!IsNew)
{
//_Notice = pDataContract.Customer2TokenNotice;
_Token = pDataContract.Token;
_Customer = pDataContract.Customer;
}
}
protected override CustomerTokenRelationDC MapToDataContract(CustomerTokenRelationDC pDataContract, bool doCommit)
{
//pDataContract.Customer2TokenNotice = _Notice;
pDataContract.Token = _Token;
pDataContract.Customer = _Customer;
return pDataContract;
}
}
}

View File

@@ -0,0 +1,108 @@
using BeWo.Validation;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
namespace BeWo.ViewModel
{
public class EmployeeTokenRelationVM : AbstractDCMapperVM<EmployeeTokenRelationDC>
{
//public static string PropertyName_Notice = "Notice";
public static string PropertyName_Token = "Token";
public static string PropertyName_Employee = "Employee";
public static string PropertyName_TokenString = "TokenString";
//private string _Notice;
private CompactTokenDC _Token;
private EmployeeDC _Employee;
public EmployeeTokenRelationVM(EmployeeTokenRelationDC pDC) : base(pDC, pDC.Employee2TokenOid == null) { }
//public string Notice
//{
// get { return _Notice; }
// set
// {
// if (AreDifferent(_Notice, value))
// {
// _Notice = value;
// StoreDirtyInformation(AreDifferent(DataContract.Customer2TokenNotice, value), PropertyName_Notice);
// FirePropertyChanged(PropertyName_Notice);
// }
// }
//}
public CompactTokenDC Token
{
get { return _Token; }
set
{
if (AreDifferent(_Token, value))
{
_Token = value;
StoreDirtyInformation(AreDifferent(DataContract.Token, value), PropertyName_Token);
FirePropertyChanged(PropertyName_Token);
FirePropertyChanged(PropertyName_TokenString);
}
}
}
public EmployeeDC Employee
{
get { return _Employee; }
set
{
if (AreDifferent(_Employee, value))
{
_Employee = value;
StoreDirtyInformation(AreDifferent(DataContract.Employee, value), PropertyName_Employee);
FirePropertyChanged(PropertyName_Employee);
}
}
}
[Validation(ValidationRule = ValidationRules.NotNullOrStringEmpty)]
public string TokenString
{
get { return _Token.ToStringNullCheck(); } // Validation Workaround
set { }
}
protected override void InitByDataContract(EmployeeTokenRelationDC pDataContract)
{
if (!IsNew)
{
//_Notice = pDataContract.Customer2TokenNotice;
_Token = pDataContract.Token;
_Employee = pDataContract.Employee;
}
}
protected override EmployeeTokenRelationDC MapToDataContract(EmployeeTokenRelationDC pDataContract, bool doCommit)
{
//pDataContract.Customer2TokenNotice = _Notice;
pDataContract.Token = _Token;
pDataContract.Employee = _Employee;
return pDataContract;
}
}
}

View File

@@ -1,96 +0,0 @@
using BS.Shared;
using BS.Shared.DataContracts;
using System;
namespace BeWo.ViewModel
{
public class KriterienVM : AbstractDCMapperVM<KriterienDC>
{
public static string PropertyName_AusschlussKriterien = "AusschlussKriterien";
public static string PropertyName_WunschKriterien = "WunschKriterien";
//public static string PropertyName_Notice = "Notice";
private string _AusschlussKriterien;
private string _WunschKriterien;
//private string _Notice;
public KriterienVM(KriterienDC pDC)
: base(pDC, true)
{
}
public string AusschlussKriterien
{
get { return this._AusschlussKriterien; }
set
{
if (this.AreDifferent(this._AusschlussKriterien, value))
{
this._AusschlussKriterien = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.AusschlussKriterien, value), PropertyName_AusschlussKriterien);
this.FirePropertyChanged(PropertyName_AusschlussKriterien);
}
}
}
public string WunschKriterien
{
get { return this._WunschKriterien; }
set
{
if (this.AreDifferent(this._WunschKriterien, value))
{
this._WunschKriterien = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.WunschKriterien, value), PropertyName_WunschKriterien);
this.FirePropertyChanged(PropertyName_WunschKriterien);
}
}
}
//public string Notice
//{
// get { return _Notice; }
// set
// {
// if (AreDifferent(_Notice, value))
// {
// _Notice = value;
// StoreDirtyInformation(AreDifferent(DataContract.Notice, value), PropertyName_Notice);
// FirePropertyChanged(PropertyName_Notice);
// }
// }
//}
protected override void InitByDataContract(KriterienDC pDataContract)
{
this._AusschlussKriterien = pDataContract.AusschlussKriterien;
this._WunschKriterien = pDataContract.WunschKriterien;
//this._Notice = pDataContract.Notice;
}
protected override KriterienDC MapToDataContract(KriterienDC pDataContract, bool doCommit)
{
pDataContract.AusschlussKriterien = _AusschlussKriterien;
pDataContract.WunschKriterien = _WunschKriterien;
//pDataContract.Notice = _Notice;
return pDataContract;
}
}
}

47
BeWo/ViewModel/TokenVM.cs Normal file
View File

@@ -0,0 +1,47 @@
using BS.Shared;
using BS.Shared.DataContracts;
using System;
namespace BeWo.ViewModel
{
public class TokenVM : AbstractDCMapperVM<TokenDC>
{
public static string PropertyName_Beschreibung = "VertretungsZeitraumVon";
private string _Beschreibung;
public TokenVM(TokenDC pDC)
: base(pDC, true)
{
}
public string Beschreibung
{
get { return this._Beschreibung; }
set
{
if (this.AreDifferent(this._Beschreibung, value))
{
this._Beschreibung = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Beschreibung, value), PropertyName_Beschreibung);
this.FirePropertyChanged(PropertyName_Beschreibung);
}
}
}
protected override void InitByDataContract(TokenDC pDataContract)
{
this._Beschreibung = pDataContract.Beschreibung;
}
protected override TokenDC MapToDataContract(TokenDC pDataContract, bool doCommit)
{
pDataContract.Beschreibung = _Beschreibung;
return pDataContract;
}
}
}

View File

@@ -148,6 +148,7 @@
<Compile Include="App_Start\RouteConfig.cs" />
<Compile Include="App_Start\WebApiConfig.cs" />
<Compile Include="Controllers\AbstractBaseController.cs" />
<Compile Include="Controllers\ChatTokenController.cs" />
<Compile Include="Controllers\LoginController.cs" />
<Compile Include="Controllers\MainController.cs" />
<Compile Include="Global.asax.cs">

View File

@@ -0,0 +1,406 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.ServiceImplementations;
using BeWoPlanerMobil.Service;
using BS.Shared;
using log4net.Core;
namespace BeWoPlanerMobil.Controllers
{
public class ChatTokenController : Controller
{
//
// GET: /ChatToken/
//public ActionResult Index()
//{
// return View();
//}
public string Index()
{
return "Das ist die <b>Default</b> aktion... Sie haben hier nix verloren.";
}
public JsonResult LoginToken(string benutzername , string passwort, string kundennummer,string typ)
{
// lese hier die daten aus dem header aus
//var x = HttpUtility.HtmlEncode("Benutzer: "+benutzername+" / "+ "Passwort: "+passwort +" / "+"Kundennummer: "+kundennummer);
//#### prüfe ob kundennummer vorhanden
if (kundennummer == null)
{
return Json("99", JsonRequestBehavior.AllowGet);
}
MobileSessionFacade.Tenant = kundennummer;
var isKundennummerVorhanden = ASPHibernateSessionManager.ConfigureHibernateSessionForWebService();
if (isKundennummerVorhanden)
{
var s = new UserServiceImp();
//ist benutzer und passwort richtig
if (s.IsUserValid(benutzername, passwort, null, "MobilClient", false) == UserValidationResult.UserValid)
{
var user = DAOFactory.UserDAO.FindUserByLoginName(benutzername);
if (user == null || !DAOFactory.UserDAO.CheckPassword(user, passwort))
{
//gib json zurück {"STATE":1}
return Json("1", JsonRequestBehavior.AllowGet);
}
MobileSessionFacade.LoggedInUser = user; // das wird garnicht gebraucht
Response.AddHeader("Content-Type","application/json"); //; charset=utf8
//Useroid übergeben auch nur dann wenn UserOid Vorhanden ist.
#region Typ Verarbeitung
if (typ != null)
{
if (typ.Equals("clients"))
{
//Klient Bereich
var daten = DAOFactory.GenericDAO.LoadByID<Customer>(1);// was wird aus customer ?
List<JsonInputKlient2> inputList = new List<JsonInputKlient2>();
// input 2 als liste übergeben und für jeden Mitarbeiter dem Customer zugeteilt ist
foreach (var emp in daten.Employee2CustomerList)
{
if (emp.EmployeeOid == 1) //Unbedingt umbauen weil Hauptbetreuer Sollen geadded werden.
{
JsonInputKlient2 input2 = new JsonInputKlient2("1",user.Oid.ToString(), emp.EmployeeOid.ToString());
if (emp.IsActive == ActivationTypeId.Deleted)
input2.Status = "3";
if (emp.IsActive == ActivationTypeId.Archived)
input2.Status = "2";
inputList.Add(input2);
}
}
JsonInputKlient1 input1 = new JsonInputKlient1(daten.Oid.ToString(),"1",
daten.Person.FirstName, daten.Person.LastName, daten.CustomerAlias, inputList);
if (daten.IsActive == ActivationTypeId.Deleted)
input1.Status = "3";
if (daten.IsActive == ActivationTypeId.Archived)
input1.Status = "2";
var ssx = new JsonRueckgabeKlient("0", input1);
return Json(ssx, JsonRequestBehavior.AllowGet);
}
else if (typ.Equals("users"))
{
//Mitarbeiter Bereich
var daten = user;
var empChatCode = DAOFactory.GenericDAO.GetAllActive<EmployeeAPPCode>();
EmployeeAPPCode chatcode = new EmployeeAPPCode();
foreach (var code in empChatCode)
{
if (daten.Employee.Oid == code.EmployeeOid)
{
chatcode = code;
}
}
DateTime? insTs = null;
foreach (var img in daten.Employee.Person.Images)
{
insTs = img.InsTs.Value;
}
JsonRueckgabeMitarbeiterInput miInput;
//es kann sein das miInput in eine liste verändert werden muss um mehrere Users zu übergeben
//| kann alles nach belieben angepasst werden
if (daten.IsActive == ActivationTypeId.Deleted )
{
miInput = new JsonRueckgabeMitarbeiterInput("",
daten.Employee.Oid.ToString(),"3",
"","", "", "", "", "", "", "");
}else if (daten.IsActive == ActivationTypeId.Archived)
{
miInput = new JsonRueckgabeMitarbeiterInput("",
daten.Employee.Oid.ToString(),"2",
"", "", "", "", "", "", "", "");
}
else
{
miInput = new JsonRueckgabeMitarbeiterInput(user.Oid.ToString(),
daten.Employee.Oid.ToString(),"1", daten.LoginName,
daten.HashedPassword, daten.Employee.Person.FirstName, daten.Employee.Person.LastName,
chatcode.EmployeeCode, "Mobile number", daten.Employee.Person.Oid.ToString(), insTs.ToString()); // statt imageoid die person oid ubergeben
if (insTs != null)
{
miInput.PictureId = insTs.ToString();
}
}
JsonRueckgabeMitarbeiter mi = new JsonRueckgabeMitarbeiter("0", miInput);
return Json(mi, JsonRequestBehavior.AllowGet);
}
else if (typ.Equals("teams"))
{
//Mitarbeiter Team Bereich
var daten = DAOFactory.GenericDAO.GetAllActive<Team>();
List<JsonRueckgabeTeamMitarbeiterInput> JRTMI = new List<JsonRueckgabeTeamMitarbeiterInput>();
foreach (var dat in daten)
{
foreach (var mem in dat.MemberList)
{
if (mem.Oid == user.Employee.Oid)
{
List<JsonRueckgabeTeamMitarbeiterInput2> mtInputList = new List<JsonRueckgabeTeamMitarbeiterInput2>();
foreach (var member in dat.MemberList)
{
JsonRueckgabeTeamMitarbeiterInput2 mtInput2 = new JsonRueckgabeTeamMitarbeiterInput2("1",
"UserOid", member.Oid.ToString());
if (member.IsActive == ActivationTypeId.Deleted)
mtInput2.Status = "3";
if (member.IsActive == ActivationTypeId.Archived)
mtInput2.Status = "2";
mtInputList.Add(mtInput2);
}
JsonRueckgabeTeamMitarbeiterInput mtInput1 = new JsonRueckgabeTeamMitarbeiterInput(dat.Oid.ToString(),"1", dat.Name, mtInputList);
if (dat.IsActive == ActivationTypeId.Deleted)
mtInput1.Status = "3";
if (dat.IsActive == ActivationTypeId.Deleted)
mtInput1.Status = "2";
JRTMI.Add(mtInput1);
}
}
}
JsonRueckgabeTeamMitarbeiter mt = new JsonRueckgabeTeamMitarbeiter("0", JRTMI);
return Json(mt, JsonRequestBehavior.AllowGet);
}
//Falls typ nicht stimmt
return Json("1", JsonRequestBehavior.AllowGet);
}
#endregion
//fallsa typ nicht vorhanden
return Json("1", JsonRequestBehavior.AllowGet);
}
else
{
//gib json zurück {"STATE":1}
return Json("1", JsonRequestBehavior.AllowGet);
}
}
else
{
//gib json zurück {"STATE":99}
return Json("99", JsonRequestBehavior.AllowGet);
}
return Json("99", JsonRequestBehavior.AllowGet);
}
public JsonResult BildUrl(int oid)
{
//Small thumbnail zurückschicken
//var img = DAOFactory.GenericDAO.GetAllActive<Image>(); // diese form von rausholden ist nicht möglich
var img = DAOFactory.GenericDAO.GetByID<Person>(oid);
//Erstmal doof image komplett zurück schicken nacher nur die image datei
return Json(img.Images[0].SmallThumbnail, JsonRequestBehavior.AllowGet);
}
}
#region Klient
public class JsonRueckgabeKlient
{
public string State { get; set; }
public JsonInputKlient1 Input { get; set; }
public JsonRueckgabeKlient(string state, JsonInputKlient1 input )
{
State = state;
Input = input;
}
}
//klienten input
public class JsonInputKlient1
{
public string Oid { get; set; }
public string Status { get; set; }
public string Firstname { get; set; }
public string LastName { get; set; }
public string Alias { get; set; }
public List<JsonInputKlient2> Guardians { get; set; }
public JsonInputKlient1(string oid,string status, string firstname, string lastname, string alias, List<JsonInputKlient2> guardians)
{
Oid = oid;
Status = status;
Firstname = firstname;
LastName = lastname;
Alias = alias;
Guardians = guardians;
}
}
public class JsonInputKlient2
{
public string Status { get; set; }
public string UserOid { get; set; }
public string EmployeeOid { get; set; }
public JsonInputKlient2(string status, string userOid,string employeeOid)
{
Status = status;
UserOid = userOid;
EmployeeOid = employeeOid;
}
}
#endregion
#region Mitarbeiter
public class JsonRueckgabeMitarbeiter
{
public string State { get; set; }
public JsonRueckgabeMitarbeiterInput Input { get; set; }
public JsonRueckgabeMitarbeiter(string state, JsonRueckgabeMitarbeiterInput input )
{
State = state;
Input = input;
}
}
public class JsonRueckgabeMitarbeiterInput
{
public string Useroid { get; set; }
public string EmployeeOid { get; set; }
public string Status { get; set; }
public string Login { get; set; }
public string Password { get; set; }
public string Firstname { get; set; }
public string LastName { get; set; }
public string ChatCode { get; set; }
public string Mobile { get; set; }
public string Picture { get; set; }
public string PictureId { get; set; }
public JsonRueckgabeMitarbeiterInput(string useroid, string employeeOid, string status, string login, string password,
string firstname, string lastname,string chatcode,string mobile,string picture,string pictureId)
{
Useroid = useroid;
EmployeeOid = employeeOid;
Status = status;
Login = login;
Password = password;
Firstname = firstname;
LastName = lastname;
ChatCode = chatcode;
Mobile = mobile;
Picture = picture;
PictureId = pictureId;
}
}
#endregion
#region TeamMitarbeiter
public class JsonRueckgabeTeamMitarbeiter
{
public string State { get; set; }
public List<JsonRueckgabeTeamMitarbeiterInput> Input { get; set; }
public JsonRueckgabeTeamMitarbeiter(string state, List<JsonRueckgabeTeamMitarbeiterInput> input)
{
State = state;
Input = input;
}
}
public class JsonRueckgabeTeamMitarbeiterInput
{
public string Oid { get; set; }
public string Status { get; set; }
public string Name { get; set; }
public List<JsonRueckgabeTeamMitarbeiterInput2> Member { get; set; }
public JsonRueckgabeTeamMitarbeiterInput(string oid,string status, string name,List<JsonRueckgabeTeamMitarbeiterInput2> member)
{
Oid = oid;
Name = name;
Member = member;
Status = status;
}
}
public class JsonRueckgabeTeamMitarbeiterInput2
{
public string Status { get; set; }
public string UserOid { get; set; }
public string EmployeeOid { get; set; }
public JsonRueckgabeTeamMitarbeiterInput2(string status, string userOid,string employeeOid)
{
Status = status;
UserOid = userOid;
EmployeeOid = employeeOid;
}
}
#endregion
}

View File

@@ -2086,7 +2086,7 @@ namespace BeWo.Data.Access
}
return a;
}
}
public IList<SupportConcept> FindCostBearer2SupportConceptForDate(DateTime datum)
{

View File

@@ -162,8 +162,10 @@
<Compile Include="Entities\Arbeitszeit.cs" />
<Compile Include="Entities\ArbeitszeitEintrag.cs" />
<Compile Include="Entities\ArbeitszeitListe.cs" />
<Compile Include="Entities\Customer2Token.cs" />
<Compile Include="Entities\Employee2Token.cs" />
<Compile Include="Entities\Token.cs" />
<Compile Include="Entities\VertretungsListe.cs" />
<Compile Include="Entities\Kriterien.cs" />
<Compile Include="Entities\Vertretung.cs" />
<Compile Include="Entities\PasswortVerlauf.cs" />
<Compile Include="Entities\MedRecord.cs" />
@@ -560,15 +562,17 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="ICD10\icd10gm2012syst_claml_20110923.xml" />
<EmbeddedResource Include="Mappings\Employee2Token.hbm.xml" />
<EmbeddedResource Include="Mappings\Customer2Token.hbm.xml" />
<EmbeddedResource Include="Mappings\Token.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\ArbeitszeitEintrag.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\Arbeitszeit.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\Kriterien.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Mappings\Vertretung.hbm.xml">
<SubType>Designer</SubType>
</EmbeddedResource>

View File

@@ -51,7 +51,7 @@ 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";
private Auszahlungsintervall _Auszahlungsintervall;
@@ -95,7 +95,7 @@ namespace BeWo.Data.Entities
private IList<Merkzeichen> _MerkzeichenListe;
private IList<Behinderungsart> _BehinderungsartenListe;
private string _CustomerAlias;
private Pflegegrad? _Pflegegrad;
private Pflegegrad? _Pflegegrad;
public Customer()

View File

@@ -0,0 +1,53 @@
using System.Collections.Generic;
using BS.Shared;
namespace BeWo.Data.Entities
{
public class Customer2Token : BeWoEntityBase
{
public static string PropertyName_Token = "Token";
public static string PropertyName_Customer = "Customer";
private Token _Token;
private Customer _Customer;
public Customer2Token()
{
this._Tid = TableID.Customer2Token;
}
public virtual Token Token
{
get
{
return this._Token;
}
set
{
if (this.AreDifferent(this._Token, value))
{
this._Token = value;
}
}
}
public virtual Customer Customer
{
get
{
return this._Customer;
}
set
{
if (this.AreDifferent(this._Customer, value))
{
this._Customer = value;
}
}
}
}
}

View File

@@ -0,0 +1,56 @@
using System.Collections.Generic;
using BS.Shared;
namespace BeWo.Data.Entities
{
public class Employee2Token : BeWoEntityBase
{
public static string PropertyName_Token = "Token";
public static string PropertyName_Employee = "Employee";
private Token _Token;
private Employee _Employee;
public Employee2Token()
{
this._Tid = TableID.Employee2Token;
}
public virtual Token Token
{
get
{
return this._Token;
}
set
{
if (this.AreDifferent(this._Token, value))
{
this._Token = value;
}
}
}
public virtual Employee Employee
{
get
{
return this._Employee;
}
set
{
if (this.AreDifferent(this._Employee, value))
{
this._Employee = value;
}
}
}
}
}

View File

@@ -1,70 +0,0 @@
using BS.Shared;
using System;
namespace BeWo.Data.Entities
{
public class Kriterien : BeWoEntityBase
{
public static string PropertyName_AusschlussKriterien = "AusschlussKriterien";
public static string PropertyName_WunschKriterien = "WunschKriterien";
public static string PropertyName_CustomerOid = "CustomerOid";
private string _AusschlussKriterien;
private string _WunschKriterien;
private long? _CustomerOid;
public virtual string AusschlussKriterien
{
get
{
return this._AusschlussKriterien;
}
set
{
if (this.AreDifferent(this._AusschlussKriterien, value))
{
this._AusschlussKriterien = value;
}
}
}
public virtual string WunschKriterien
{
get
{
return this._WunschKriterien;
}
set
{
if (this.AreDifferent(this._WunschKriterien, value))
{
this._WunschKriterien = value;
}
}
}
public virtual long? CustomerOid
{
get
{
return this._CustomerOid;
}
set
{
if (this.AreDifferent(this._CustomerOid, value))
{
this._CustomerOid = value;
}
}
}
}
}

108
Data/Entities/Token.cs Normal file
View File

@@ -0,0 +1,108 @@
using BS.Shared;
using System;
using System.Collections.Generic;
namespace BeWo.Data.Entities
{
public class Token : BeWoEntityBase
{
public static string PropertyName_Beschreibung = "Beschreibung";
public static string PropertyName_TokenTyp = "TokenTyp";
public static string PropertyName_MemberOid = "MemberOid";
private string _Beschreibung;
private TokenTyp? _TokenTyp;
private IList<Employee2Token> _Employee2TokenList;
private IList<Customer2Token> _Customer2TokenList;
private long? _MemberOid;
public Token()
{
this._Tid = TableID.Token;
}
public virtual string Beschreibung
{
get
{
return this._Beschreibung;
}
set
{
if (this.AreDifferent(this._Beschreibung, value))
{
this._Beschreibung = value;
}
}
}
public virtual TokenTyp? TokenTyp
{
get
{
return this._TokenTyp;
}
set
{
if (this.AreDifferent(this._TokenTyp, value))
{
this._TokenTyp = value;
}
}
}
public virtual IList<Employee2Token> Employee2TokenList
{
get { return _Employee2TokenList ?? (_Employee2TokenList = new List<Employee2Token>()); }
set
{
if (AreDifferent(_Employee2TokenList, value))
{
_Employee2TokenList = value;
}
}
}
public virtual IList<Customer2Token> Customer2TokenList
{
get { return _Customer2TokenList ?? (_Customer2TokenList = new List<Customer2Token>()); }
set
{
if (AreDifferent(_Customer2TokenList, value))
{
_Customer2TokenList = value;
}
}
}
public virtual long? MemberOid
{
get
{
return _MemberOid;
}
set
{
if (AreDifferent(_MemberOid, value))
{
_MemberOid = value;
}
}
}
}
}

View File

@@ -30,6 +30,11 @@ namespace BeWo.Data.Entities
private long? _AbsenceTimeOid;
public Vertretung()
{
this._Tid = TableID.Vertretung;
}
public virtual DateTime VertretungsZeitraumVon
{
get

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.Customer2Token,BeWo.Data" table="customer2token">
<id name="Oid" column="Oid" type="Int64" unsaved-value="null">
<generator class="identity" />
</id>
<version type="Int64" column="Version" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="Notice" type="String" name="Notice" length="1024" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="InsUser" type="String" name="InsUser" length="256" />
<property column="UdpUser" type="String" name="UdpUser" length="256" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<many-to-one name="Token" column="TokenOid" class="BeWo.Data.Entities.Token,BeWo.Data" cascade="none" />
<many-to-one name="Customer" column="CustomerOid" class="BeWo.Data.Entities.Customer,BeWo.Data" cascade="none" />
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.Employee2Token,BeWo.Data" table="employee2token">
<id name="Oid" column="Oid" type="Int64" unsaved-value="null">
<generator class="identity" />
</id>
<version type="Int64" column="Version" name="Version" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property column="Notice" type="String" name="Notice" length="1024" />
<property column="InsTs" type="DateTime" name="InsTs" />
<property column="InsUser" type="String" name="InsUser" length="256" />
<property column="UdpUser" type="String" name="UdpUser" length="256" />
<property column="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" name="IsActive" />
<property column="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" name="SystemEntryID" />
<many-to-one name="Token" column="TokenOid" class="BeWo.Data.Entities.Token,BeWo.Data" cascade="none" />
<many-to-one name="Employee" column="EmployeeOid" class="BeWo.Data.Entities.Employee,BeWo.Data" cascade="none" />
</class>
</hibernate-mapping>

View File

@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.Kriterien,BeWo.Data" table="Kriterien">
<class name="BeWo.Data.Entities.Token,BeWo.Data" table="token">
<id name="Oid" column ="Oid" unsaved-value="null">
<generator class="identity" />
</id>
<version type="Int64" column="Version" name="Version" />
<property name="CustomerOid" column="KlientOid" />
<property name="InsTs" />
<property name="InsUser" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
@@ -15,10 +14,19 @@
<property name="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" />
<property name="Notice" column="Notice" length="1024" />
<property name="AusschlussKriterien" column="AusschlussKriterien" />
<property name="WunschKriterien" column="WunschKriterien" />
<property name="Beschreibung" column="Beschreibung" />
<property column="Typ" type="BS.Shared.TokenTyp, BS.Shared" name="TokenTyp" />
<bag name="Employee2TokenList" table="employee2token" generic="true" cascade="all-delete-orphan" batch-size="250">
<key column="TokenOid" />
<one-to-many class="BeWo.Data.Entities.Employee2Token,BeWo.Data" />
</bag>
<bag name="Customer2TokenList" table="customer2token" generic="true" cascade="all-delete-orphan" batch-size="250">
<key column="TokenOid" />
<one-to-many class="BeWo.Data.Entities.Customer2Token,BeWo.Data" />
</bag>
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,58 @@
CREATE TABLE `1234567890`.`token` (
`Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
`Tid` INT(10) NULL COMMENT '',
`Notice` VARCHAR(1024) NULL COMMENT '',
`InsTs` DATETIME NULL COMMENT '',
`InsUser` VARCHAR(1024) NULL COMMENT '',
`Version` BIGINT(19) NULL COMMENT '',
`UdpUser` VARCHAR(256) NULL COMMENT '',
`isActive` TINYINT(4) NULL COMMENT '',
`SystemEntryID` INT(10) NULL COMMENT '',
`Beschreibung` VARCHAR(1024) NULL COMMENT '',
`Typ` TINYINT(4) NULL COMMENT '',
PRIMARY KEY (`Oid`) COMMENT '');
CREATE TABLE `1234567890`.`customer2token` (
`Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
`CustomerOid` BIGINT(19) NULL COMMENT '',
`TokenOid` BIGINT(19) NULL COMMENT '',
`Tid` INT(10) NULL COMMENT '',
`Notice` VARCHAR(1024) NULL COMMENT '',
`InsTs` DATETIME NULL COMMENT '',
`InsUser` VARCHAR(1024) NULL COMMENT '',
`Version` BIGINT(19) NULL COMMENT '',
`UdpUser` VARCHAR(256) NULL COMMENT '',
`isActive` TINYINT(4) NULL COMMENT '',
`SystemEntryID` INT(10) NULL COMMENT '',
PRIMARY KEY (`Oid`) COMMENT '');
CREATE TABLE `1234567890`.`employee2token` (
`Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
`EmployeeOid` BIGINT(19) NULL COMMENT '',
`TokenOid` BIGINT(19) NULL COMMENT '',
`Tid` INT(10) NULL COMMENT '',
`Notice` VARCHAR(1024) NULL COMMENT '',
`InsTs` DATETIME NULL COMMENT '',
`InsUser` VARCHAR(1024) NULL COMMENT '',
`Version` BIGINT(19) NULL COMMENT '',
`UdpUser` VARCHAR(256) NULL COMMENT '',
`isActive` TINYINT(4) NULL COMMENT '',
`SystemEntryID` INT(10) NULL COMMENT '',
PRIMARY KEY (`Oid`) COMMENT '');

View File

@@ -0,0 +1 @@
DROP TABLE Kriterien;

View File

@@ -52,6 +52,7 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="AdikMitarbeiterstundenkontoBerechnung.cs" />

View File

@@ -97,6 +97,7 @@
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="Finanzauswertung.cs">

View File

@@ -52,6 +52,7 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="Export\CustomDataExporter.cs" />

View File

@@ -52,6 +52,7 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />

View File

@@ -52,6 +52,7 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="Calculations\DefaultSaveInterceptor.cs" />

View File

@@ -56,6 +56,7 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="Invoicing\CustomInvoiceCreation.cs" />

View File

@@ -94,6 +94,7 @@
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="SozPsychErfassungBeratungRO.cs" />

View File

@@ -53,6 +53,7 @@
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="Calculation\CustomGroupDurationCalculator.cs" />

View File

@@ -52,6 +52,7 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="Calculations\SewoServiceRecordStatisticFactory.cs" />

View File

@@ -0,0 +1,34 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using System.Linq;
using BS.Shared.DataContracts.Compact;
namespace BeWo.Service.DCEntityMapper
{
public class CompactTokenDC_Token : AbstractIDCEntityMapper<Token, CompactTokenDC>
{
public override CompactTokenDC MergeWithDC(Token pEntity, CompactTokenDC pDataContract)
{
pDataContract.TokenOid = pEntity.Oid;
pDataContract.Beschreibung = pEntity.Beschreibung;
pDataContract.ActivationType = pEntity.IsActive;
pDataContract.CustomerOids = pEntity.Customer2TokenList.Select(c => c.Customer.Oid.Value).ToList();
pDataContract.EmployeeOids = pEntity.Employee2TokenList.Select(c => c.Employee.Oid.Value).ToList();
return pDataContract;
}
// COMPACT Wohnheim ARE NOT EDITABLE
public override Token MergeWithEntity(CompactTokenDC pDataContract, Token pEntity)
{
return DAOFactory.GenericDAO.LoadByID<Token>(pDataContract.TokenOid.Value);
}
protected override bool AreDCAndEntityEqual(CompactTokenDC pDC, Token pEntity)
{
return pDC.TokenOid == pEntity.Oid;
}
}
}

View File

@@ -19,10 +19,14 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.ActivationType = pEntity.IsActive;
pDataContract.ValueListEntries = pEntity.ValueList.ToDictionary(i => i.Entry.Oid.Value, i => i.Entry.Type);
pDataContract.EmployeeColor = pEntity.EmployeeColor;
pDataContract.Geschlecht = pEntity.Person.Sex;
if (pEntity.Person.Address != null)
{
pDataContract.PersonAdressInfo = pEntity.Person.Address.PostalCode + " " + pEntity.Person.Address.Street + " " + pEntity.Person.Address.Town;
pDataContract.PersonAdressStr = pEntity.Person.Address.Street;
pDataContract.PersonAdressPLZ = pEntity.Person.Address.PostalCode;
pDataContract.PersonAdressStadt = pEntity.Person.Address.Town;
}
if(pEntity.Arbeitszeit != null){

View File

@@ -23,7 +23,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.RelatedTeams = MapperFactory.TeamCustomerRelDC_Team2CustomerMapper.MapToNewDCs(pEntity.Team2CustomerList);
pDataContract.CostBearers = MapperFactory.CustomerCostBearerRelDC_Customer2CostBearer.MapToNewDCs(pEntity.Customer2CostBearerList);
pDataContract.EnvironmentPersons = MapperFactory.CustomerPersonRelationDC_Customer2Person.MapToNewDCs(pEntity.Customer2PersonList);
pDataContract.EnvironmentOrganisations = MapperFactory.CustomerOrganisationRelationDC_Customer2Organisation.MapToNewDCs(pEntity.Customer2OrganisationList);
pDataContract.EnvironmentOrganisations = MapperFactory.CustomerOrganisationRelationDC_Customer2Organisation.MapToNewDCs(pEntity.Customer2OrganisationList);
//if(pEntity.Jugendamt != null)
// pDataContract.Jugendamt = MapperFactory.CompactOrganisationDC_Organisation.MapToNewDC(pEntity.Jugendamt);
@@ -126,7 +126,7 @@ namespace BeWo.Service.DCEntityMapper
MapperFactory.AbsenceTimeDC_AbsenceTime.MergeWithEntitys(pDataContract.AbsenceTimes, pEntity.AbsenceTimes);
MapperFactory.CustomerPersonRelationDC_Customer2Person.MergeWithEntitys(pDataContract.EnvironmentPersons, pEntity.Customer2PersonList);
MapperFactory.CustomerPersonRelationDC_Customer2Person.MergeWithEntitys(pDataContract.EnvironmentPersons, pEntity.Customer2PersonList);
MapperFactory.CustomerOrganisationRelationDC_Customer2Organisation.MergeWithEntitys(pDataContract.EnvironmentOrganisations, pEntity.Customer2OrganisationList);
pEntity.DistanceInMeter = pDataContract.DistanceInMeter;

View File

@@ -0,0 +1,48 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class CustomerTokenRelationDC_Customer2Token : AbstractIDCEntityMapper<Customer2Token, CustomerTokenRelationDC>
{
public override CustomerTokenRelationDC MergeWithDC(Customer2Token pEntity, CustomerTokenRelationDC pDataContract)
{
//pDataContract.Customer2TokenNotice = pEntity.Notice;
pDataContract.Customer2TokenOid = pEntity.Oid;
pDataContract.Token = MapperFactory.CompactTokenDC_Token.MapToNewDC(pEntity.Token);
pDataContract.Customer = MapperFactory.CustomerDC_Customer.MapToNewDC(pEntity.Customer);
return pDataContract;
}
public override Customer2Token MergeWithEntity(CustomerTokenRelationDC pDataContract, Customer2Token pEntity)
{
pEntity.Oid = pDataContract.Customer2TokenOid;
if (pDataContract.Token != null){
pEntity.Token = DAOFactory.GenericDAO.LoadByID<Token>(pDataContract.Token.TokenOid.Value);
}
if (pDataContract.Customer != null)
{
pEntity.Customer = DAOFactory.GenericDAO.LoadByID<Customer>(pDataContract.Customer.CustomerOid.Value);
}
return pEntity;
}
protected override bool AreDCAndEntityEqual(CustomerTokenRelationDC pDC, Customer2Token pEntity)
{
if (pDC.Customer2TokenOid == null)
{
return false;
}
return pDC.Customer2TokenOid == pEntity.Oid;
}
}
}

View File

@@ -0,0 +1,51 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class EmployeeTokenRelationDC_Employee2Token : AbstractIDCEntityMapper<Employee2Token, EmployeeTokenRelationDC>
{
public override EmployeeTokenRelationDC MergeWithDC(Employee2Token pEntity, EmployeeTokenRelationDC pDataContract)
{
//pDataContract.Customer2TokenNotice = pEntity.Notice;
pDataContract.Employee2TokenOid = pEntity.Oid;
pDataContract.Token = MapperFactory.CompactTokenDC_Token.MapToNewDC(pEntity.Token);
pDataContract.Employee = MapperFactory.EmployeeDC_Employee.MapToNewDC(pEntity.Employee);
return pDataContract;
}
public override Employee2Token MergeWithEntity(EmployeeTokenRelationDC pDataContract, Employee2Token pEntity)
{
pEntity.Oid = pDataContract.Employee2TokenOid;
if (pDataContract.Token != null)
{
pEntity.Token = DAOFactory.GenericDAO.LoadByID<Token>(pDataContract.Token.TokenOid.Value);
}
if (pDataContract.Employee != null)
{
pEntity.Employee = DAOFactory.GenericDAO.LoadByID<Employee>(pDataContract.Employee.EmployeeOid.Value);
}
return pEntity;
}
protected override bool AreDCAndEntityEqual(EmployeeTokenRelationDC pDC, Employee2Token pEntity)
{
if (pDC.Employee2TokenOid == null)
{
return false;
}
return pDC.Employee2TokenOid == pEntity.Oid;
}
}
}

View File

@@ -1,45 +0,0 @@
using System.IO;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class KriterienDC_Kriterien : AbstractIDCEntityMapper<Kriterien, KriterienDC>
{
public override KriterienDC MergeWithDC(Kriterien pEntity, KriterienDC pDataContract)
{
pDataContract.CustomerOid = pEntity.CustomerOid;
pDataContract.AusschlussKriterien = pEntity.AusschlussKriterien;
pDataContract.WunschKriterien = pEntity.WunschKriterien;
//pDataContract.Notice = pEntity.Notice;
return pDataContract;
}
public override Kriterien MergeWithEntity(KriterienDC pDataContract, Kriterien pEntity)
{
pEntity.CustomerOid = pDataContract.CustomerOid;
pEntity.AusschlussKriterien = pDataContract.AusschlussKriterien;
pEntity.WunschKriterien = pDataContract.WunschKriterien;
//pEntity.Notice = pDataContract.Notice;
return pEntity;
}
protected override bool AreDCAndEntityEqual(KriterienDC pDC, Kriterien pEntity)
{
if (pDC.KriterienOid == null)
{
return false;
}
return pDC.KriterienOid == pEntity.Oid;
}
}
}

View File

@@ -47,11 +47,11 @@ namespace BeWo.Service.DCEntityMapper
private static VertretungDC_Vertretung _VertretungDC_Vertretung;
private static TokenDC_Token _TokenDC_Token;
private static ArbeitszeitDC_Arbeitszeit _ArbeitszeitDC_Arbeitszeit;
private static ArbeitszeitEintragDC_ArbeitszeitEintrag _ArbeitszeitEintragDC_ArbeitszeitEintrag;
private static KriterienDC_Kriterien _KriterienDC_Kriterien;
private static ArbeitszeitEintragDC_ArbeitszeitEintrag _ArbeitszeitEintragDC_ArbeitszeitEintrag;
private static VertretungsListeDC_VertretungsListe _VertretungsListeDC_VertretungsListe;
@@ -85,6 +85,12 @@ namespace BeWo.Service.DCEntityMapper
private static CustomerPersonRelationDC_Customer2Person _CustomerPersonRelationDC_Customer2Person;
private static CustomerTokenRelationDC_Customer2Token _CustomerTokenRelationDC_Customer2Token;
private static EmployeeTokenRelationDC_Employee2Token _EmployeeTokenRelationDC_Employee2Token;
private static CompactTokenDC_Token _CompactTokenDC_Token;
private static CustomerOrganisationRelationDC_Customer2Organisation _CustomerOrganisationRelationDC_Customer2Organisation;
private static CustomerEmployeeRelDC_Employee2CustomerMapper _EmployeeCustomerRelDC_Employee2CustomerMapper;
@@ -544,6 +550,15 @@ namespace BeWo.Service.DCEntityMapper
}
}
public static TokenDC_Token TokenDC_Token
{
get
{
return _TokenDC_Token ?? (_TokenDC_Token = new TokenDC_Token());
}
}
public static ArbeitszeitDC_Arbeitszeit ArbeitszeitDC_Arbeitszeit
{
get
@@ -559,13 +574,6 @@ namespace BeWo.Service.DCEntityMapper
return _ArbeitszeitEintragDC_ArbeitszeitEintrag ?? (_ArbeitszeitEintragDC_ArbeitszeitEintrag = new ArbeitszeitEintragDC_ArbeitszeitEintrag());
}
}
public static KriterienDC_Kriterien KriterienDC_Kriterien
{
get
{
return _KriterienDC_Kriterien ?? (_KriterienDC_Kriterien = new KriterienDC_Kriterien());
}
}
public static VertretungsListeDC_VertretungsListe VertretungsListeDC_VertretungsListe
{
@@ -703,6 +711,31 @@ namespace BeWo.Service.DCEntityMapper
}
}
public static CustomerTokenRelationDC_Customer2Token CustomerTokenRelationDC_Customer2Token
{
get
{
return _CustomerTokenRelationDC_Customer2Token ?? (_CustomerTokenRelationDC_Customer2Token = new CustomerTokenRelationDC_Customer2Token());
}
}
public static EmployeeTokenRelationDC_Employee2Token EmployeeTokenRelationDC_Employee2Token
{
get
{
return _EmployeeTokenRelationDC_Employee2Token ?? (_EmployeeTokenRelationDC_Employee2Token = new EmployeeTokenRelationDC_Employee2Token());
}
}
public static CompactTokenDC_Token CompactTokenDC_Token
{
get
{
return _CompactTokenDC_Token ?? (_CompactTokenDC_Token = new CompactTokenDC_Token());
}
}
public static CustomerOrganisationRelationDC_Customer2Organisation CustomerOrganisationRelationDC_Customer2Organisation
{
get

View File

@@ -0,0 +1,53 @@
using System.IO;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class TokenDC_Token : AbstractIDCEntityMapper<Token, TokenDC>
{
public override TokenDC MergeWithDC(Token pEntity, TokenDC pDataContract)
{
pDataContract.RelatedEmployees = MapperFactory.EmployeeTokenRelationDC_Employee2Token.MapToNewDCs(pEntity.Employee2TokenList);
pDataContract.RelatedCustomers = MapperFactory.CustomerTokenRelationDC_Customer2Token.MapToNewDCs(pEntity.Customer2TokenList);
pDataContract.TokenOid = pEntity.Oid;
pDataContract.Beschreibung = pEntity.Beschreibung;
if (pEntity.TokenTyp != null)
{
pDataContract.TokenTyp = pEntity.TokenTyp;
}
pDataContract.MemberOid = pEntity.MemberOid;
return pDataContract;
}
public override Token MergeWithEntity(TokenDC pDataContract, Token pEntity)
{
pEntity.Oid = pDataContract.TokenOid;
pEntity.Beschreibung = pDataContract.Beschreibung;
pEntity.TokenTyp = pDataContract.TokenTyp;
MapperFactory.EmployeeTokenRelationDC_Employee2Token.MergeWithEntitys(pDataContract.RelatedEmployees, pEntity.Employee2TokenList);
MapperFactory.CustomerTokenRelationDC_Customer2Token.MergeWithEntitys(pDataContract.RelatedCustomers, pEntity.Customer2TokenList);
return pEntity;
}
protected override bool AreDCAndEntityEqual(TokenDC pDC, Token pEntity)
{
if (pDC.TokenOid == null)
{
return false;
}
return pDC.TokenOid == pEntity.Oid;
}
}
}

View File

@@ -4,8 +4,10 @@ using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.Core;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
namespace BeWo.Service.SBD.Vertretung
{
@@ -26,6 +28,10 @@ namespace BeWo.Service.SBD.Vertretung
public List<VertretungsListeItemsDC> vertretungsliste = new List<VertretungsListeItemsDC>();
public List<EmployeeDC> EmployeeListe = new List<EmployeeDC>();
public List<VertretungsListeMitarbeiterItemsDC> Mitarbeiterliste = new List<VertretungsListeMitarbeiterItemsDC>();
private readonly List<long> _vorhandeneCustomerOidListe = new List<long>();
public VertretungsAlgorithmus(VertretungsListeDC sbd , DateTime date)
@@ -49,416 +55,591 @@ namespace BeWo.Service.SBD.Vertretung
ErstelleItemVonWoechentlicherAbsencetimes();
}
public VertretungsAlgorithmus(DateTime start, DateTime ende)
{
_startDate = start;
_endDate = ende;
//erstmal hier hinein und dann mal kuken
GetAlleMitarbeiterForWochenanzeige();
}
public void Hauptbetreuungen()
{
try
{
foreach (var xa in _schulbegleitenderDienst.Employeesliste)
{
List<long> klientoids = new List<long>();
foreach (var xa in _schulbegleitenderDienst.Employeesliste)
{
List<long> klientoids = new List<long>();
Employee e = DAOFactory.GenericDAO.LoadByID<Employee>(xa.EmployeeOid);
Employee e = DAOFactory.GenericDAO.LoadByID<Employee>(xa.EmployeeOid);
foreach (var e2c in e.Employee2CustomerList)
{
foreach (var v2o in e2c.ValueList)
{
if (v2o.Entry.Type == ValueListEntryType.StaffRoleType && v2o.Entry.SystemEntryID.HasValue &&
v2o.Entry.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant)
{
klientoids.Add(e2c.CustomerOid.Value);
}
}
}
foreach (var e2c in e.Employee2CustomerList)
{
foreach (var v2o in e2c.ValueList)
{
if (v2o.Entry.Type == ValueListEntryType.StaffRoleType && v2o.Entry.SystemEntryID.HasValue &&
v2o.Entry.SystemEntryID.Value == SystemEntryID.EmployeeRoleMainAttendant)
{
klientoids.Add(e2c.CustomerOid.Value);
}
}
}
if (!_employee2CustomerHaupt.ContainsKey(xa.EmployeeOid))
_employee2CustomerHaupt.Add(xa.EmployeeOid, klientoids);
if (!_employee2CustomerHaupt.ContainsKey(xa.EmployeeOid))
_employee2CustomerHaupt.Add(xa.EmployeeOid, klientoids);
}
}
_schulbegleitenderDienst.Employee2CustomerHauptbetreuung = _employee2CustomerHaupt;
_schulbegleitenderDienst.Employee2CustomerHauptbetreuung = _employee2CustomerHaupt;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
//----- Tages Vertretung
private void ErstelleItemVonVertretungen()
//----- Tages Vertretung // ggf noch anpassen
#region Tagesanzeige
private void ErstelleItemVonVertretungen()
{
_vorhandeneCustomerOidListe.Clear();
VertretungsListeItemsDC item = new VertretungsListeItemsDC();
try
{
_vorhandeneCustomerOidListe.Clear();
VertretungsListeItemsDC item = new VertretungsListeItemsDC();
foreach (var vertritt in _schulbegleitenderDienst.Vertretungsliste)
{
item = BuildVertertungslisteItems();
foreach (var vertritt in _schulbegleitenderDienst.Vertretungsliste)
{
item = BuildVertertungslisteItems();
//Vertretungsdc wird übergeben
item.Vertretung = vertritt;
//Vertretungsdc wird übergeben
item.Vertretung = vertritt;
if (vertritt.VertretungsZeitraumVon.Date <= _absenceTime.Date && vertritt.VertretungsZeitraumBis.Date >= _absenceTime.Date)
{
foreach (var mit in _schulbegleitenderDienst.Employeesliste)
{
if (vertritt.EmployeeOid == mit.EmployeeOid)
{
item.EmployeeName = mit.FirstName + " " + mit.LastName;
if (vertritt.VertretungsZeitraumVon.Date <= _absenceTime.Date && vertritt.VertretungsZeitraumBis.Date >= _absenceTime.Date)
{
foreach (var mit in _schulbegleitenderDienst.Employeesliste)
{
if (vertritt.EmployeeOid == mit.EmployeeOid)
{
item.EmployeeName = mit.FirstName + " " + mit.LastName;
item.EmployeeOid = mit.EmployeeOid;
}
item.EmployeeOid = mit.EmployeeOid;
}
if (vertritt.VertretenderMitarbeiterOid == mit.EmployeeOid)
{
item.VertretenderMitarbeiter = mit.FirstName + " " + mit.LastName;
if (vertritt.VertretenderMitarbeiterOid == mit.EmployeeOid)
{
item.VertretenderMitarbeiter = mit.FirstName + " " + mit.LastName;
item.VertetenderMit = mit.EmployeeOid;
}
item.VertetenderMit = mit.EmployeeOid;
}
foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
{
if (hauptbetreuung.Key == vertritt.EmployeeOid && vertritt.EmployeeOid == mit.EmployeeOid)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
foreach (var val in hauptbetreuung.Value)
{
if (val == cust.CustomerOid)
{
if (cust.CustomerOid == vertritt.CustomerOid)
{
_vorhandeneCustomerOidListe.Add(cust.CustomerOid);
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
}
}
}
}
foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
{
if (hauptbetreuung.Key == vertritt.EmployeeOid && vertritt.EmployeeOid == mit.EmployeeOid)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
foreach (var val in hauptbetreuung.Value)
{
if (val == cust.CustomerOid)
{
if (cust.CustomerOid == vertritt.CustomerOid)
{
_vorhandeneCustomerOidListe.Add(cust.CustomerOid);
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
}
}
}
}
foreach (var ab in _schulbegleitenderDienst.AbsenceTimeliste)
{
if (vertritt.AbsenceTimeOid == ab.AbsenceTimeOid)
{
item.Abwesenheitskategorie = ab.Reason;
foreach (var ab in _schulbegleitenderDienst.AbsenceTimeliste)
{
if (vertritt.AbsenceTimeOid == ab.AbsenceTimeOid)
{
item.Abwesenheitskategorie = ab.Reason;
AddKrankheitsZeitraumAndMeldungToItem(item, ab);
AddKrankheitsZeitraumAndMeldungToItem(item, ab);
item.Absencetime = ab;
item.Absencetime = ab;
AddArbeitszeitToItem(item, vertritt.EmployeeOid,1);
AddArbeitszeitToItem(item, vertritt.EmployeeOid,1);
if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (emp.EmployeeOid == ab.EmployeeOid)
{
item.EmployeeOid = ab.EmployeeOid.Value;
item.EmployeeName = emp.FirstName + " " + emp.LastName;
}
}
}
}
if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (emp.EmployeeOid == ab.EmployeeOid)
{
item.EmployeeOid = ab.EmployeeOid.Value;
item.EmployeeName = emp.FirstName + " " + emp.LastName;
}
}
}
}
}
}
//überprüfung durchführen und ggf mehrere Davon anlegen. wegen vertretungszeiten bei krankheitszeiträumen
//überprüfung durchführen und ggf mehrere Davon anlegen. wegen vertretungszeiten bei krankheitszeiträumen
vertretungsliste.Add(item);
//Abfragen ob überhaupt ein Employee Vorhanden ist.
vertretungsliste.Add(item);
//if (vertritt.VertretungsZeitraumVon != ab.Start.Value && vertritt.VertretungsZeitraumBis != ab.End.Value) für die zeiten inerghalb eines tages
//{
// add der vertretungsliste einen Weiteren Tag der nicht
// allerdings müsste da wieder ne neue vertretung erstellt werden.
// desweiteren müsste die range der Stunden ermittelt werden.
// vertretungsliste.Add(item);
//if (vertritt.VertretungsZeitraumVon != ab.Start.Value && vertritt.VertretungsZeitraumBis != ab.End.Value) für die zeiten inerghalb eines tages
//{
// add der vertretungsliste einen Weiteren Tag der nicht
// allerdings müsste da wieder ne neue vertretung erstellt werden.
// desweiteren müsste die range der Stunden ermittelt werden.
// vertretungsliste.Add(item);
//}
}
}
//}
}
}
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
private void ErstelleItemVonAbsencetimes()
{
VertretungsListeItemsDC item = new VertretungsListeItemsDC();
try
{
VertretungsListeItemsDC item = new VertretungsListeItemsDC();
foreach (var ars in _schulbegleitenderDienst.AbsenceTimeliste)
{
item = BuildVertertungslisteItems();
foreach (var ars in _schulbegleitenderDienst.AbsenceTimeliste)
{
item = BuildVertertungslisteItems();
item.Abwesenheitskategorie = ars.Reason;
item.Absencetime = ars;
item.Abwesenheitskategorie = ars.Reason;
item.Absencetime = ars;
AddKrankheitsZeitraumAndMeldungToItem(item, ars);
AddKrankheitsZeitraumAndMeldungToItem(item, ars);
if (ars.Start.Value.Date <= _absenceTime.Date && ars.End.Value.Date >= _absenceTime.Date)
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (ars.EmployeeOid == emp.EmployeeOid)
{
item.EmployeeName = emp.FirstName + " " + emp.LastName;
}
if (ars.Start.Value.Date <= _absenceTime.Date && ars.End.Value.Date >= _absenceTime.Date)
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (ars.EmployeeOid == emp.EmployeeOid)
{
item.EmployeeName = emp.FirstName + " " + emp.LastName;
item.EmployeeOid = emp.EmployeeOid;
}
foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
{
if (hauptbetreuung.Key == emp.EmployeeOid && emp.EmployeeOid == ars.EmployeeOid)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
foreach (var val in hauptbetreuung.Value)
{
if (val == cust.CustomerOid)
{
if (!_vorhandeneCustomerOidListe.Contains(cust.CustomerOid))
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
}
}
}
foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
{
if (hauptbetreuung.Key == emp.EmployeeOid && emp.EmployeeOid == ars.EmployeeOid)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
foreach (var val in hauptbetreuung.Value)
{
if (val == cust.CustomerOid)
{
if (!_vorhandeneCustomerOidListe.Contains(cust.CustomerOid))
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
}
}
}
if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (emp.EmployeeOid == ars.EmployeeOid)
{
item.EmployeeOid = ars.EmployeeOid.Value;
item.EmployeeName = emp.FirstName + " " + emp.LastName;
if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (emp.EmployeeOid == ars.EmployeeOid)
{
item.EmployeeOid = ars.EmployeeOid.Value;
item.EmployeeName = emp.FirstName + " " + emp.LastName;
AddArbeitszeitToItem(item, emp.EmployeeOid,1);
}
}
}
AddArbeitszeitToItem(item, emp.EmployeeOid,1);
}
}
}
//Sonderfall wenn keine vertertung verfügbar und employee nicht gegeben aber absence eine customer oid besitzt
if (item.Customer.Count == 0 && item.EmployeeOid == 0 && ars.CustomerOid.Value != 0)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
if (ars.CustomerOid.Value == cust.CustomerOid)
{
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
//Sonderfall wenn keine vertertung verfügbar und employee nicht gegeben aber absence eine customer oid besitzt
if (item.Customer.Count == 0 && item.EmployeeOid == 0 && ars.CustomerOid.Value != 0)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
if (ars.CustomerOid.Value == cust.CustomerOid)
{
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
if (item.Customer.Count != 0)//hier auch employeecount abfragen // bearbeiten
{
vertretungsliste.Add(item);
}
//if (item.Customer.Count != 0 && item.EmployeeOid != 0 )//hier auch employee ob vorhanden abfragen // bearbeiten
//{
vertretungsliste.Add(item);
//}
}
}
}
}
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
//---------
#endregion
//---------
//----- Bearbeiten --------------------------------------------------------------------------------------------
//----- Woechentliche Vertretungen, Die anzeige jeweiliger tage muss angepasst werden wenn zum beispiel eine
//krabkmeldung mehrere vertretungen zugewiesen bekomment hat. Die müssen dann richtig angezeigt werden.
//----- Wochentliche Vertretungen date abfrage muss hier gerichtet werden ?? habe ich das nicht bereits erledigt
private void ErstelleItemVonWoechentlicherVertretungen()
#region Klienten Wochenanzeige
private void ErstelleItemVonWoechentlicherVertretungen()
{
_vorhandeneCustomerOidListe.Clear();
VertretungsListeItemsDC item = new VertretungsListeItemsDC();
try
{
_vorhandeneCustomerOidListe.Clear();
VertretungsListeItemsDC item = new VertretungsListeItemsDC();
foreach (var vertritt in _schulbegleitenderDienst.Vertretungsliste)
{
item = BuildVertertungslisteItems();
foreach (var vertritt in _schulbegleitenderDienst.Vertretungsliste)
{
item = BuildVertertungslisteItems();
//Vertretungsdc wird übergeben
item.Vertretung = vertritt;
//Vertretungsdc wird übergeben
item.Vertretung = vertritt;
if (vertritt.VertretungsZeitraumVon.Date <= _endDate.Date && vertritt.VertretungsZeitraumBis.Date >= _startDate.Date)
{
foreach (var mit in _schulbegleitenderDienst.Employeesliste)
{
if (vertritt.EmployeeOid == mit.EmployeeOid)
{
item.EmployeeName = mit.FirstName + " " + mit.LastName;
if (vertritt.VertretungsZeitraumVon.Date <= _endDate.Date && vertritt.VertretungsZeitraumBis.Date >= _startDate.Date)
{
foreach (var mit in _schulbegleitenderDienst.Employeesliste)
{
if (vertritt.EmployeeOid == mit.EmployeeOid)
{
item.EmployeeName = mit.FirstName + " " + mit.LastName;
item.EmployeeOid = mit.EmployeeOid;
}
item.EmployeeOid = mit.EmployeeOid;
}
if (vertritt.VertretenderMitarbeiterOid == mit.EmployeeOid)
{
item.VertretenderMitarbeiter = mit.FirstName + " " + mit.LastName;
if (vertritt.VertretenderMitarbeiterOid == mit.EmployeeOid)
{
item.VertretenderMitarbeiter = mit.FirstName + " " + mit.LastName;
item.VertetenderMit = mit.EmployeeOid;
}
item.VertetenderMit = mit.EmployeeOid;
}
foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
{
if (hauptbetreuung.Key == vertritt.EmployeeOid && vertritt.EmployeeOid == mit.EmployeeOid)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
foreach (var val in hauptbetreuung.Value)
{
if (val == cust.CustomerOid)
{
if (cust.CustomerOid == vertritt.CustomerOid)
{
_vorhandeneCustomerOidListe.Add(cust.CustomerOid);
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
}
}
}
}
foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
{
if (hauptbetreuung.Key == vertritt.EmployeeOid && vertritt.EmployeeOid == mit.EmployeeOid)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
foreach (var val in hauptbetreuung.Value)
{
if (val == cust.CustomerOid)
{
if (cust.CustomerOid == vertritt.CustomerOid)
{
_vorhandeneCustomerOidListe.Add(cust.CustomerOid);
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
}
}
}
}
foreach (var ab in _schulbegleitenderDienst.AbsenceTimeliste)
{
if (vertritt.AbsenceTimeOid == ab.AbsenceTimeOid)
{
item.Abwesenheitskategorie = ab.Reason;
foreach (var ab in _schulbegleitenderDienst.AbsenceTimeliste)
{
if (vertritt.AbsenceTimeOid == ab.AbsenceTimeOid)
{
item.Abwesenheitskategorie = ab.Reason;
AddKrankheitsZeitraumAndMeldungToItem(item, ab);
AddKrankheitsZeitraumAndMeldungToItem(item, ab);
item.Absencetime = ab;
item.Absencetime = ab;
AddArbeitszeitToItem(item, vertritt.EmployeeOid,2);
AddArbeitszeitToItem(item, vertritt.EmployeeOid,2);
if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (emp.EmployeeOid == ab.EmployeeOid)
{
item.EmployeeOid = ab.EmployeeOid.Value;
item.EmployeeName = emp.FirstName + " " + emp.LastName;
}
}
}
}
}
if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (emp.EmployeeOid == ab.EmployeeOid)
{
item.EmployeeOid = ab.EmployeeOid.Value;
item.EmployeeName = emp.FirstName + " " + emp.LastName;
}
}
}
}
}
vertretungsliste.Add(item);
}
//Abfragen ob Employee vorhanden
vertretungsliste.Add(item);
}
}
}
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
private void ErstelleItemVonWoechentlicherAbsencetimes()
{
VertretungsListeItemsDC item = new VertretungsListeItemsDC();
try
{
VertretungsListeItemsDC item = new VertretungsListeItemsDC();
foreach (var ars in _schulbegleitenderDienst.AbsenceTimeliste)
{
item = BuildVertertungslisteItems();
foreach (var ars in _schulbegleitenderDienst.AbsenceTimeliste)
{
item = BuildVertertungslisteItems();
item.Abwesenheitskategorie = ars.Reason;
item.Absencetime = ars;
item.Abwesenheitskategorie = ars.Reason;
item.Absencetime = ars;
AddKrankheitsZeitraumAndMeldungToItem(item, ars);
AddKrankheitsZeitraumAndMeldungToItem(item, ars);
if (ars.Start.Value.Date <= _endDate.Date && ars.End.Value.Date >= _startDate.Date )
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (ars.EmployeeOid == emp.EmployeeOid)
{
item.EmployeeName = emp.FirstName + " " + emp.LastName;
}
if (ars.Start.Value.Date <= _endDate.Date && ars.End.Value.Date >= _startDate.Date )
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (ars.EmployeeOid == emp.EmployeeOid)
{
item.EmployeeName = emp.FirstName + " " + emp.LastName;
item.EmployeeOid = emp.EmployeeOid;
}
foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
{
if (hauptbetreuung.Key == emp.EmployeeOid && emp.EmployeeOid == ars.EmployeeOid)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
foreach (var val in hauptbetreuung.Value)
{
if (val == cust.CustomerOid)
{
if (!_vorhandeneCustomerOidListe.Contains(cust.CustomerOid))
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
}
}
}
foreach (var hauptbetreuung in _schulbegleitenderDienst.Employee2CustomerHauptbetreuung)
{
if (hauptbetreuung.Key == emp.EmployeeOid && emp.EmployeeOid == ars.EmployeeOid)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
foreach (var val in hauptbetreuung.Value)
{
if (val == cust.CustomerOid)
{
if (!_vorhandeneCustomerOidListe.Contains(cust.CustomerOid))
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
}
}
}
if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (emp.EmployeeOid == ars.EmployeeOid)
{
item.EmployeeOid = ars.EmployeeOid.Value;
item.EmployeeName = emp.FirstName + " " + emp.LastName;
if (item.EmployeeOid == 0 || item.EmployeeName.Equals(""))
{
foreach (var emp in _schulbegleitenderDienst.Employeesliste)
{
if (emp.EmployeeOid == ars.EmployeeOid)
{
item.EmployeeOid = ars.EmployeeOid.Value;
item.EmployeeName = emp.FirstName + " " + emp.LastName;
AddArbeitszeitToItem(item, emp.EmployeeOid,2);
}
}
}
AddArbeitszeitToItem(item, emp.EmployeeOid,2);
}
}
}
//Sonderfall wenn keine vertertung verfügbar und employee nicht gegeben aber absence eine customer oid besitzt
if (item.Customer.Count == 0 && item.EmployeeOid == 0 && ars.CustomerOid.Value != 0)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
if (ars.CustomerOid.Value == cust.CustomerOid)
{
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
//Sonderfall wenn keine vertertung verfügbar und employee nicht gegeben aber absence eine customer oid besitzt
if (item.Customer.Count == 0 && item.EmployeeOid == 0 && ars.CustomerOid.Value != 0)
{
foreach (var cust in _schulbegleitenderDienst.Customersliste)
{
if (ars.CustomerOid.Value == cust.CustomerOid)
{
item.Customer.Add(cust.CustomerOid, cust.FullName);
}
}
}
if (item.Customer.Count != 0)//hier auch employeecount abfragen // bearbeiten
{
vertretungsliste.Add(item);
}
// if (item.Customer.Count != 0 item.EmployeeOid != 0)//hier auch employee ob vorhanden abfragen // bearbeiten
// {
vertretungsliste.Add(item);
// }
}
}
}
}
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
//----
#endregion
//-------------------------------------------------------------------------------------------------------------
//########## Neuer bereich der ausprobiert werden soll
private void ErmittleTimeRange(DateTime start, DateTime end, DateTime VertretStart, DateTime VertretEnd)
//-------------- Vorhandene Mitarbeiter die Keiner Vertretung zugewiesen sind.
#region Mitarbeiter Wochenanzeige
public void GetAlleMitarbeiterForWochenanzeige()
{
try
{
var x = DAOFactory.GenericDAO.GetAllActive<Employee>();
var y = DCEntityMapper.MapperFactory.EmployeeDC_Employee.MapToNewDCs(x);
EmployeeListe = y;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<VertretungsListeMitarbeiterItemsDC> ErstelleItemVonWoechentlicherVorhandenerMitarbeiterVertretungen()
{
try
{
//Code Für die Mitarbeiter ansicht
foreach (var employee in EmployeeListe)
{
// eine für die Mitarbeiter Wochenanzeige angepasste Liste Zurück liefern
Dictionary<DateTime, CompactCustomerDC> dict = new Dictionary<DateTime, CompactCustomerDC>();
//mit vertretung vergleichen ?? && nur mitarbeiter mitnehmen die noch einen freien tag in der vertretung haben ??
//foreach (var abs in employee.AbsenceTimes)
//{
// if (_startDate >= abs.Start.Value && _endDate <= abs.End.Value)
// {
// }
//}
//foreach (var rel in employee.RelatedCustomers)
//{
// if (!dict.ContainsKey(DateTime.Now))
// dict.Add(DateTime.Now, rel.Customer);
//}
VertretungsListeMitarbeiterItemsDC mVert = new VertretungsListeMitarbeiterItemsDC()
{
Employee = employee.FirstName +" "+ employee.LastName,
EmployeeOid = employee.EmployeeOid,
WochenPlan = dict,
};
if (employee.AbsenceTimes != null && employee.AbsenceTimes.Count > 0)
{
mVert.AbsenceStartDate = employee.AbsenceTimes[0].Start;
mVert.AbsenceEndDate = employee.AbsenceTimes[0].End;
}
if (employee.RelatedCustomers != null && employee.RelatedCustomers.Count > 0)
{
mVert.Customer = employee.RelatedCustomers[0].Customer;
}
Mitarbeiterliste.Add(mVert);
}
return Mitarbeiterliste;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
private void ErstelleItemVonWoechentklicherVorhandenerMitarbeiterAbsencetimes()
{
try
{
//Mall sehen ob das gebraucht wird.
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
#endregion
//---------------------------------------------------------------------------
//########## Neuer bereich der ausprobiert werden soll #########################################################################
#region Ermittle time Range ,Erstelle neue Vertretung
private void ErmittleTimeRange(DateTime start, DateTime end, DateTime vertretStart, DateTime vertretEnd)
{
var startzeit = start.TimeOfDay;
var endzeit = end.TimeOfDay;
if (startzeit > VertretEnd.TimeOfDay && endzeit < VertretStart.TimeOfDay)
// der Zeitraum der Vertretung muss auch überprüft werden.
if (startzeit > vertretEnd.TimeOfDay && endzeit < vertretStart.TimeOfDay)
{
//create new irgendwas
// Haben wir eine Zeitraum überschneidung, dann muss noch überprüft werden ob die Zeit sich überschneidet
// denn wenn nicht, dann soll eine Weitere Vertretung erstellt werden die die Ausstehende Zeit anzeigt oer so.
CreateNewVertretung();
}
else
{
//alles gut
}
}
private void CreateNewVertretung()
{
//erstelle neue Vertretung
VertretungDC vertretung = new VertretungDC()
{
};
var x = DCEntityMapper.MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretung);
DAOFactory.GenericDAO.Insert(x);
}
#endregion
//############################# ende Probe ####################################################################################
//############################# ende Probezeit
#region Behilfsmethoden
private void AddKrankheitsZeitraumAndMeldungToItem(VertretungsListeItemsDC item, AbsenceTimeDC ars)
private void AddKrankheitsZeitraumAndMeldungToItem(VertretungsListeItemsDC item, AbsenceTimeDC ars)
{
if (ars.Start.Value.Date != ars.End.Value.Date)
{
@@ -571,5 +752,11 @@ namespace BeWo.Service.SBD.Vertretung
return item;
}
}
//neu Für Mitarbeiter Woche
//private
}
#endregion
}

View File

@@ -217,8 +217,11 @@
<Compile Include="DCEntityMapper\ArbeitszeitDC_Arbeitszeit.cs" />
<Compile Include="DCEntityMapper\ArbeitszeitEintragDC_ArbeitszeitEintrag.cs" />
<Compile Include="DCEntityMapper\CompactVertreterEmployeeDC_VertreterEmployee.cs" />
<Compile Include="DCEntityMapper\CustomerTokenRelationDC_Customer2Token.cs" />
<Compile Include="DCEntityMapper\EmployeeTokenRelationDC_Employee2Token.cs" />
<Compile Include="DCEntityMapper\CompactTokenDC_Token.cs" />
<Compile Include="DCEntityMapper\TokenDC_Token.cs" />
<Compile Include="DCEntityMapper\VertretungsListeDC_VertretungsListe.cs" />
<Compile Include="DCEntityMapper\KriterienDC_Kriterien.cs" />
<Compile Include="DCEntityMapper\PasswortVerlaufDC_PasswortVerlauf.cs" />
<Compile Include="DCEntityMapper\MedRecordDC_MedRecord.cs" />
<Compile Include="DCEntityMapper\SignatureDC_Signature.cs" />

View File

@@ -636,5 +636,13 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<CompactPersonDC> GetPersonForOrganisations(long organisationoid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<CustomerTokenRelationDC> LoadCustomerTokenRelationsByOid(IEnumerable<long> pOids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
PersonDC GetPersonWithCustomerOid(long oid);
}
}

View File

@@ -347,5 +347,13 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<CompactVertreterEmployeeDC> GetAllActiveVertreterEmployeesCompact();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<EmployeeTokenRelationDC> LoadEmployeeTokenRelationsByOid(IEnumerable<long> pOids);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
EmployeeDC GetEmployeeByID(long employeeOid);
}
}

View File

@@ -638,5 +638,36 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
void UpdateAbsenceTime(AbsenceTimeDC abs);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<TokenDC> GetAllTokens(SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, long? oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void DeleteToken(TokenDC token);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void InsertNewToken(string beschreibung, TokenTyp typ, SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, long? oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void InsertNewRelationToken(TokenDC token, TokenTyp typ, SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, long? oid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void UpdateToken(TokenDC token);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<CustomerTokenRelationDC> GetCustomer2TokenList();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<EmployeeTokenRelationDC> GetEmployee2TokenList();
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<VertretungsListeMitarbeiterItemsDC> VertretungsMitarbeiterListeWoechentlich(DateTime start, DateTime ende);
}
}

View File

@@ -3432,6 +3432,38 @@ namespace BeWo.Service.ServiceImplementations
return items;
}
public List<CustomerTokenRelationDC> LoadCustomerTokenRelationsByOid(IEnumerable<long> pOids)
{
try
{
var customerTokenRels = DAOFactory.GenericDAO.LoadByIDs<Customer2Token>(pOids);
return MapperFactory.CustomerTokenRelationDC_Customer2Token.MapToNewDCs(customerTokenRels);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public PersonDC GetPersonWithCustomerOid(long oid)
{
try
{
var klient = DAOFactory.GenericDAO.GetByID<Customer>(oid);
var person = MapperFactory.PersonDC_Person.MapToNewDC(klient.Person);
return person;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
}
internal struct WohnheimbuchungsIntervallStruct

View File

@@ -1305,5 +1305,35 @@ namespace BeWo.Service.ServiceImplementations
}
}
//####################################
public List<EmployeeTokenRelationDC> LoadEmployeeTokenRelationsByOid(IEnumerable<long> pOids)
{
try
{
var customerTokenRels = DAOFactory.GenericDAO.LoadByIDs<Employee2Token>(pOids);
return MapperFactory.EmployeeTokenRelationDC_Employee2Token.MapToNewDCs(customerTokenRels);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public EmployeeDC GetEmployeeByID(long employeeOid)
{
try
{
var employee = DAOFactory.GenericDAO.GetByID<Employee>(employeeOid);
return MapperFactory.EmployeeDC_Employee.MapToNewDC(employee);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
}
}

View File

@@ -3850,6 +3850,22 @@ namespace BeWo.Service.ServiceImplementations
}
}
public List<VertretungsListeMitarbeiterItemsDC> VertretungsMitarbeiterListeWoechentlich(DateTime start, DateTime ende)
{
try
{
VertretungsAlgorithmus alorythmus = new VertretungsAlgorithmus(start, ende);
var x = alorythmus.ErstelleItemVonWoechentlicherVorhandenerMitarbeiterVertretungen();
return x;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
//hole die Range an vertretungen raus raus
public List<VertretungsListeItemsDC> VertretungsListeWoechentlich(DateTime start, DateTime ende)
{
@@ -3884,6 +3900,229 @@ namespace BeWo.Service.ServiceImplementations
}
//Token Bereich für Token
public List<TokenDC> GetAllTokens(SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, long? oid)
{
try
{
var token = DAOFactory.GenericDAO.GetAllActive<Token>();
IList<Token> fToken = new List<Token>();
if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Klient)
{
var x = GetCustomer2TokenList();
foreach (var item in token)
{
foreach (var c2t in x)
{
if (item.Oid == c2t.Token.TokenOid && c2t.Customer.CustomerOid == oid)
{
item.MemberOid = oid;
fToken.Add(item);
}
else if (item.Oid == c2t.Token.TokenOid)
{
fToken.Add(item);
}
}
}
}
else if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter)
{
var x = GetEmployee2TokenList();
foreach (var item in token)
{
foreach (var e2t in x)
{
if (item.Oid == e2t.Token.TokenOid && e2t.Employee.EmployeeOid == oid)
{
item.MemberOid = oid;
fToken.Add(item);
}
else if (item.Oid == e2t.Token.TokenOid)
{
fToken.Add(item);
}
}
}
}
return MapperFactory.TokenDC_Token.MapToNewDCs(fToken);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void UpdateToken(TokenDC token)
{
try
{
var t = MapperFactory.TokenDC_Token.MapToNewEntity(token);
DAOFactory.GenericDAO.Update(t);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void InsertNewToken(string beschreibung, TokenTyp typ, SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, long? oid)
{
try
{
TokenDC token = new TokenDC()
{
Beschreibung = beschreibung,
TokenTyp = typ
};
if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Klient)
{
var x = DAOFactory.GenericDAO.GetByID<Customer>(oid.Value);
var xyz = MapperFactory.CustomerDC_Customer.MapToNewDC(x);
CustomerTokenRelationDC c2t = new CustomerTokenRelationDC()
{
Customer = xyz
};
List<CustomerTokenRelationDC> c2tList = new List<CustomerTokenRelationDC>();
c2tList.Add(c2t);
token.RelatedCustomers = c2tList;
}
else if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter)
{
var x = DAOFactory.GenericDAO.GetByID<Employee>(oid.Value);
var xyz = MapperFactory.EmployeeDC_Employee.MapToNewDC(x);
EmployeeTokenRelationDC e2t = new EmployeeTokenRelationDC()
{
Employee = xyz
};
List<EmployeeTokenRelationDC> e2tList = new List<EmployeeTokenRelationDC>();
e2tList.Add(e2t);
token.RelatedEmployees = e2tList;
}
var t = MapperFactory.TokenDC_Token.MapToNewEntity(token);
DAOFactory.GenericDAO.Insert(t);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void InsertNewRelationToken(TokenDC token, TokenTyp typ, SchulbegleitenderZugehörigkeitsTyp zugehoerigkeitsTyp, long? oid)
{
try
{
if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Klient)
{
var x = DAOFactory.GenericDAO.GetByID<Customer>(oid.Value);
var xyz = MapperFactory.CustomerDC_Customer.MapToNewDC(x);
CustomerTokenRelationDC c2t = new CustomerTokenRelationDC()
{
Customer = xyz
};
List<CustomerTokenRelationDC> c2tList = new List<CustomerTokenRelationDC>();
c2tList.Add(c2t);
token.RelatedCustomers = c2tList;
}
else if (zugehoerigkeitsTyp == SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter)
{
var x = DAOFactory.GenericDAO.GetByID<Employee>(oid.Value);
var xyz = MapperFactory.EmployeeDC_Employee.MapToNewDC(x);
EmployeeTokenRelationDC e2t = new EmployeeTokenRelationDC()
{
Employee = xyz
};
List<EmployeeTokenRelationDC> e2tList = new List<EmployeeTokenRelationDC>();
e2tList.Add(e2t);
token.RelatedEmployees = e2tList;
}
var tok = DAOFactory.GenericDAO.GetByID<Token>(token.TokenOid.Value);
var t = MapperFactory.TokenDC_Token.MergeWithEntity(token,tok);
DAOFactory.GenericDAO.Update(t);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void DeleteToken(TokenDC token)
{
try
{
var t = MapperFactory.TokenDC_Token.MapToNewEntity(token);
DAOFactory.GenericDAO.Delete(t);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<CustomerTokenRelationDC> GetCustomer2TokenList()
{
try
{
var x = DAOFactory.GenericDAO.GetAllActive<Customer2Token>();
var y = MapperFactory.CustomerTokenRelationDC_Customer2Token.MapToNewDCs(x);
return y;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public List<EmployeeTokenRelationDC> GetEmployee2TokenList()
{
try
{
var x = DAOFactory.GenericDAO.GetAllActive<Employee2Token>();
var y = MapperFactory.EmployeeTokenRelationDC_Employee2Token.MapToNewDCs(x);
return y;
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
//#################################################################

View File

@@ -122,7 +122,11 @@ namespace BS.Shared
MedRecord = 115,
ChatMessage = 116,
ChatMediaMessage = 117,
NewestChatMessage = 118
NewestChatMessage = 118,
Customer2Token = 119,
Token = 120,
Vertretung = 121,
Employee2Token = 122
}
public enum SystemEntryID
@@ -915,4 +919,16 @@ namespace BS.Shared
ZeiterfassungMitEndDatum,
ZeiterfassungMitMonatJahr
}
public enum TokenTyp
{
AusschlussKriterium,
WunschKriterium
}
public enum SchulbegleitenderZugehörigkeitsTyp
{
Mitarbeiter,
Klient
}
}

View File

@@ -44,7 +44,11 @@ namespace BS.Shared.Core
public static Dictionary<object, String>ZeiterfassungsDauerTranslations;
public static Dictionary<object, String> ServiceRecordFormateTranslations;
public static Dictionary<object, String> ServiceRecordFormateTranslations;
public static Dictionary<object, String> TokenTypTranslations;
public static Dictionary<object, String> SchulbegleitenderZugehörigkeitsTypTranslations;
static EnumTranslations()
{
@@ -657,7 +661,6 @@ namespace BS.Shared.Core
#endregion
#region ServiceRecordFormateTranslations
ServiceRecordFormateTranslations = new Dictionary<object, string>
{
{
@@ -673,6 +676,32 @@ namespace BS.Shared.Core
#endregion
#region TokenTypTranslations
TokenTypTranslations = new Dictionary<object, string>
{
{
TokenTyp.AusschlussKriterium,"AusschlussKriterium"
},
{
TokenTyp.WunschKriterium,"WunschKriterium"
}
};
#endregion
#region SchulbegleitenderZugehörigkeitsTypTranslations
SchulbegleitenderZugehörigkeitsTypTranslations = new Dictionary<object, string>
{
{
SchulbegleitenderZugehörigkeitsTyp.Mitarbeiter,"Mitarbeiter"
},
{
SchulbegleitenderZugehörigkeitsTyp.Klient,"Klienten"
}
};
#endregion
#region ServiceRecordTimeIntervalTranslations
ServiceRecordTimeIntervalTranslations = new Dictionary<object, String>
{

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace BS.Shared.DataContracts.Compact
{
[DataContract, Serializable]
public partial class CompactTokenDC : IDataContract
{
[DataMember]
public long? TokenOid { get; set; }
[DataMember]
public string Beschreibung { get; set; }
[DataMember]
public TokenTyp? TokenType { get; set; }
[DataMember]
public ActivationTypeId ActivationType { get; set; }
[DataMember]
public string Notice { get; set; }
[DataMember]
public List<long> CustomerOids { get; set; }
[DataMember]
public List<long> EmployeeOids { get; set; }
}
}

View File

@@ -66,7 +66,16 @@ namespace BS.Shared.DataContracts.Compact
public String EmployeeColor { get; set; }
[DataMember]
public string PersonAdressInfo { get; set; }
public string PersonAdressPLZ { get; set; }
[DataMember]
public string PersonAdressStr { get; set; }
[DataMember]
public string PersonAdressStadt { get; set; }
[DataMember]
public Sex? Geschlecht { get; set; }
[DataMember]
public List<ArbeitszeitDC>Arbeitszeit { get; set; }

View File

@@ -0,0 +1,27 @@
using System.Runtime.Serialization;
using BS.Shared.DataContracts.Compact;
namespace BS.Shared.DataContracts
{
[DataContract]
public partial class CustomerTokenRelationDC : IDataContract
{
[DataMember]
public string Customer2TokenNotice { get; set; }
[DataMember]
public long? Customer2TokenOid { get; set; }
[DataMember]
public long? Customer2TokenVersion { get; set; }
[DataMember]
public CustomerDC Customer { get; set; }
[DataMember]
public CompactTokenDC Token { get; set; }
}
}

View File

@@ -0,0 +1,27 @@
using System.Runtime.Serialization;
using BS.Shared.DataContracts.Compact;
namespace BS.Shared.DataContracts
{
[DataContract]
public partial class EmployeeTokenRelationDC : IDataContract
{
[DataMember]
public string Employee2TokenNotice { get; set; }
[DataMember]
public long? Employee2TokenOid { get; set; }
[DataMember]
public long? Employee2TokenVersion { get; set; }
[DataMember]
public EmployeeDC Employee { get; set; }
[DataMember]
public CompactTokenDC Token { get; set; }
}
}

View File

@@ -1,27 +0,0 @@
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace BS.Shared.DataContracts
{
[DataContract]
public class KriterienDC : IDataContract
{
[DataMember]
public long? KriterienOid { get; set; }
[DataMember]
public long? CustomerOid { get; set; }
[DataMember]
public string AusschlussKriterien { get; set; }
[DataMember]
public string WunschKriterien { get; set; }
//[DataMember]
//public string Notice { get; set; }
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace BS.Shared.DataContracts
{
[DataContract]
public class TokenDC : IDataContract
{
[DataMember]
public long? TokenOid { get; set; }
[DataMember]
public string Beschreibung { get; set; }
[DataMember]
public string Notice { get; set; }
[DataMember]
public TokenTyp? TokenTyp { get; set; }
[DataMember]
public long? MemberOid { get; set; }
[DataMember]
public List<EmployeeTokenRelationDC> RelatedEmployees { get; set; }
[DataMember]
public List<CustomerTokenRelationDC> RelatedCustomers { get; set; }
}
}

View File

@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using BS.Shared.DataContracts.Compact;
using DevExpress.Schedule;
namespace BS.Shared.DataContracts
{
[DataContract]
public class VertretungsListeMitarbeiterItemsDC : IDataContract
{
[DataMember]
public string Employee { get; set; }
[DataMember]
public Dictionary<DateTime,CompactCustomerDC> WochenPlan { get; set; }
[DataMember]
public long? EmployeeOid { get; set; }
[DataMember]
public DateTime? AbsenceStartDate { get; set; }
[DataMember]
public DateTime? AbsenceEndDate { get; set; }
[DataMember]
public CompactCustomerDC Customer { get; set; }
}
}

View File

@@ -163,6 +163,7 @@
<Compile Include="DataContracts\Compact\CompactGroupOfPeopleDC.cs" />
<Compile Include="DataContracts\Compact\CompactWohnheimDC.cs" />
<Compile Include="DataContracts\Compact\CompactVertreterEmployeeDC.cs" />
<Compile Include="DataContracts\Compact\CompactTokenDC.cs" />
<Compile Include="DataContracts\CustomerTeamRelationDC.cs" />
<Compile Include="DataContracts\ContractDC.cs" />
<Compile Include="DataContracts\DarreichungsformDC.cs" />
@@ -174,9 +175,12 @@
<Compile Include="DataContracts\ChatMediaMessageDC.cs" />
<Compile Include="DataContracts\ArbeitszeitDC.cs" />
<Compile Include="DataContracts\ArbeitszeitEintragDC.cs" />
<Compile Include="DataContracts\CustomerTokenRelationDC.cs" />
<Compile Include="DataContracts\EmployeeTokenRelationDC.cs" />
<Compile Include="DataContracts\VertretungsListeMitarbeiterItemsDC.cs" />
<Compile Include="DataContracts\TokenDC.cs" />
<Compile Include="DataContracts\VertretungsListeItemsDC.cs" />
<Compile Include="DataContracts\VertretungsListeDC.cs" />
<Compile Include="DataContracts\KriterienDC.cs" />
<Compile Include="DataContracts\VertretungDC.cs" />
<Compile Include="DataContracts\PasswortVerlaufDC.cs" />
<Compile Include="DataContracts\MedRecordDC.cs" />