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

This commit is contained in:
Christian
2017-05-18 21:49:30 +02:00
59 changed files with 3430 additions and 3318 deletions

View File

@@ -369,6 +369,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BetreuungsBueroScholzReport
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BAPBielefelderAmbulantePflege", "ReportImp\BAPBielefelderAmbulantePflege\BAPBielefelderAmbulantePflege.csproj", "{7A7E980E-447C-444C-B43B-A23A20F52C02}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LebenshilfeMannheimEV", "ReportImp\LebenshilfeMannheimEV\LebenshilfeMannheimEV.csproj", "{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -2728,6 +2730,18 @@ Global
{7A7E980E-447C-444C-B43B-A23A20F52C02}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7A7E980E-447C-444C-B43B-A23A20F52C02}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7A7E980E-447C-444C-B43B-A23A20F52C02}.Release|x86.ActiveCfg = Release|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|.NET.ActiveCfg = Debug|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Debug|x86.ActiveCfg = Debug|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|.NET.ActiveCfg = Release|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|Any CPU.Build.0 = Release|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80}.Release|x86.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -2908,5 +2922,6 @@ Global
{56D310FE-DB98-4EFE-8527-DF94628657F8} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{606566D9-B8B5-4522-A2B4-175F4BCE98DD} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{7A7E980E-447C-444C-B43B-A23A20F52C02} = {D8A691C5-146D-4613-86CC-438F02FE9106}
{0FDF87A6-B39E-4494-AE31-0CE302D8BA80} = {D8A691C5-146D-4613-86CC-438F02FE9106}
EndGlobalSection
EndGlobal

View File

@@ -182,6 +182,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="SchulbegleitenderDienst\KrankheitsZeitraumView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="SchulbegleitenderDienst\SchulbegleitenderDienstBearbeitungsView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -432,6 +436,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\EmployeeArbeitszeitView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="View\SchulbegleitenderDienstCustomer.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -534,6 +542,9 @@
<Compile Include="ProxyLoginView.xaml.cs">
<DependentUpon>ProxyLoginView.xaml</DependentUpon>
</Compile>
<Compile Include="SchulbegleitenderDienst\KrankheitsZeitraumView.xaml.cs">
<DependentUpon>KrankheitsZeitraumView.xaml</DependentUpon>
</Compile>
<Compile Include="SchulbegleitenderDienst\SchulbegleitenderDienstBearbeitungsView.xaml.cs">
<DependentUpon>SchulbegleitenderDienstBearbeitungsView.xaml</DependentUpon>
</Compile>
@@ -623,7 +634,11 @@
<Compile Include="ViewModel\EmployeeAPPCodeVM.cs" />
<Compile Include="ViewModel\ChatMessageVM.cs" />
<Compile Include="ViewModel\ChatMediaMessageVM.cs" />
<Compile Include="ViewModel\ArbeitszeitVM.cs" />
<Compile Include="ViewModel\ArbeitszeitEintragVM.cs" />
<Compile Include="ViewModel\KriterienVM.cs" />
<Compile Include="ViewModel\ListViewModel\ArbeitszeitListVM.cs" />
<Compile Include="ViewModel\ListViewModel\ArbeitszeitEintragListVM.cs" />
<Compile Include="ViewModel\VertretungVM.cs" />
<Compile Include="ViewModel\PasswortVerlaufVM.cs" />
<Compile Include="ViewModel\ListViewModel\BargeldkassenListVM.cs" />
@@ -823,6 +838,9 @@
<Compile Include="View\ChatEmojisView.xaml.cs">
<DependentUpon>ChatEmojisView.xaml</DependentUpon>
</Compile>
<Compile Include="View\EmployeeArbeitszeitView.xaml.cs">
<DependentUpon>EmployeeArbeitszeitView.xaml</DependentUpon>
</Compile>
<Compile Include="View\SchulbegleitenderDienstCustomer.xaml.cs">
<DependentUpon>SchulbegleitenderDienstCustomer.xaml</DependentUpon>
</Compile>

View File

@@ -247,7 +247,7 @@
<!-- #Neuer Bereich Kinder Betreuungs gedoense Content=Schulbegleitender Dienst################ -->
<!--<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, AccountingTransactionView_View"
<localView:ImageButton r:DemandUserRight.VisibleDemands="ViewAll, AccountingTransactionView_View"
ImageSource="Ressources\Icons\CoinsDisabled.png" x:Name="button_SchulbegleitenderDienst"
Click="Button_SchulbegleitenderDienst_OnClick" Style="{StaticResource NavBarButton}"
Content="SBD" Background="{StaticResource SchulbegleitenderDienstContentBrush}"
@@ -261,7 +261,7 @@
<TranslateTransform X="0" Y="0" />
</TransformGroup>
</Button.RenderTransform>
</localView:ImageButton>-->
</localView:ImageButton>

View File

@@ -1464,8 +1464,6 @@ namespace BeWo.Scheduler.View
OnPropertyChanged("SelectedEmployees");
OnPropertyChanged("SelectedItems");
OnPropertyChanged("ViewModel");
Scheduler.ActiveView.LayoutChanged();
}
//private void ExportAsiCal(object sender, RoutedEventArgs e)

View File

@@ -30,11 +30,13 @@ namespace BeWo.Scheduler.ViewModel
set
{
if(value != null)
{
{
mActiveAppointmentViewModel = value;
if(ViewModelChanged != null)
if (ViewModelChanged != null)
{
ViewModelChanged.Invoke(this, new EventArgs<ISchedulerViewModel>(value));
}
}
}
}

View File

@@ -0,0 +1,36 @@
<Window x:Class="BeWo.SchulbegleitenderDienst.KrankheitsZeitraumView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
Background="Transparent" Height="125" Width="400" WindowStartupLocation="CenterScreen" WindowStyle="None">
<GroupBox Header="KrankheitsZeitraumView" x:Name="rootGroupBox" Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" Background="Transparent" MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown">
<Grid Background="White">
<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="27"/>
<RowDefinition Height="27"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Label Content="Von: " Grid.Row="0" Grid.Column="0" Margin="2,2,2,2"/>
<Label Content=" - " Grid.Row="0" Grid.Column="2" Margin="2,2,2,2"/>
<Label Content="Bis: " Grid.Row="0" Grid.Column="3" Margin="2,2,2,2"/>
<dxe:DateEdit Grid.Row="0" Grid.Column="1" Width="125" x:Name="DateVon" Margin="2,2,2,2"/>
<dxe:DateEdit Grid.Row="0" Grid.Column="4" Width="125" x:Name="DateBis" Margin="2,2,2,2"/>
<StackPanel Grid.Row="1" Grid.Column="3" Grid.ColumnSpan="2" Orientation="Horizontal">
<Button Content="Schließen" Click="ButtonBase_OnClick" HorizontalAlignment="Right" Margin="2,2,2,2"/>
<Button Content="Übernehmen" Click="RaisEvent_OnClick" HorizontalAlignment="Right" Margin="2,2,2,2"/>
</StackPanel>
</Grid>
</GroupBox>
</Window>

View File

@@ -0,0 +1,95 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace BeWo.SchulbegleitenderDienst
{
/// <summary>
/// Interaktionslogik für KrankheitsZeitraumView.xaml
/// </summary>
public partial class KrankheitsZeitraumView : Window
{
public event EventHandler<KrankheitsEventArgs> RaiseCustomEvent;
public KrankheitsZeitraumView( DateTime start,DateTime ende)
{
InitializeComponent();
DateVon.EditValue = start;
DateBis.EditValue = ende;
CloseWindow();
}
private void RootGroupBox_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
try
{
DragMove();
}
catch (Exception)
{
}
}
public void CloseWindow()
{
CommandBindings.Add(
new CommandBinding(
ApplicationCommands.Close,
(s, e) =>
{
Close();
}));
}
public void RaisEvent_OnClick(object sender, RoutedEventArgs e)
{
var a = DateVon.DateTime;
var b = DateBis.DateTime;
RaiseCustomEvent(this, new KrankheitsEventArgs(a,b));
}
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
Close();
}
}
public class KrankheitsEventArgs : EventArgs
{
public KrankheitsEventArgs(DateTime s, DateTime e)
{
_start = s;
_end = e;
}
private DateTime _start;
private DateTime _end;
public DateTime Start
{
get { return _start; }
}
public DateTime Ende
{
get { return _end; }
}
}
}

View File

@@ -6,8 +6,7 @@
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxsch="http://schemas.devexpress.com/winfx/2008/xaml/scheduler"
xmlns:dxschint="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/internal"
xmlns:dxschui="clr-namespace:DevExpress.Xpf.Scheduler.Drawing;assembly=DevExpress.Xpf.Scheduler.v13.1"
xmlns:dxschint="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/internal"
xmlns:dxscht="http://schemas.devexpress.com/winfx/2008/xaml/scheduler/themekeys"
xmlns:view="clr-namespace:BeWo.Scheduler.View"
xmlns:converter="clr-namespace:BeWo.Converter"
@@ -58,7 +57,7 @@
<!-- EditValue="{Binding Path=PlacementDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" -->
<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"/>
<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" >
@@ -71,17 +70,24 @@
<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>
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Row="1" Grid.ColumnSpan="2" Grid.Column="0">
<!-- ####################################### Bereich Mitarbeiter #####################################-->
<!--<Button Content="Mitarbeiter Vertretung" Grid.Row="1" Grid.Column="0" Margin="3,3,3,3" x:Name="MitarbeiterVertretung_Button"/>-->
<Button Style="{DynamicResource IconButtonStyle}" x:Name="MitarbeiterVertretung_Button" Grid.Row="1" Grid.Column="0" Background="Transparent" BorderBrush="Transparent" HorizontalAlignment="Left" Margin="3,3,3,3" Click="MitarbeiterVertretung_OnClick" >
<Image x:Name="MitarbeiterImage" ToolTip="Mitarbeiter Krankmelden" Source="../Ressources/Icons/User Business Male.png" />
<!--<Button Style="{DynamicResource IconButtonStyle}" Content="Mitarbeiter Vertretung" Grid.Row="1" Grid.Column="0" Margin="3,3,3,3" x:Name="MitarbeiterVertretung_Button"/>-->
<Button x:Name="MitarbeiterVertretung_Button" Background="Transparent" BorderBrush="Transparent" HorizontalAlignment="Left" Margin="3,3,3,3" Click="MitarbeiterVertretung_OnClick" Content="Mitarbeiter Krankmelden" >
<!-- <Image x:Name="MitarbeiterImage" ToolTip="Mitarbeiter Krankmelden" Source="../Ressources/Icons/User Business Male.png" />-->
</Button>
<controls:PopupNonTopmost Topmost="False" x:Name="popup_newMitarbeiterVertretung" Width="350" StaysOpen="True" Placement="Relative" Grid.Row="1" PlacementTarget="{Binding ElementName=MitarbeiterVertretung_Button}">
<controls:PopupNonTopmost Topmost="False" x:Name="popup_newMitarbeiterVertretung" Width="350" StaysOpen="True" Placement="MousePoint" Grid.Row="1" PlacementTarget="{Binding ElementName=MitarbeiterVertretung_Button}">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_newEnvironmentPerson" Header="Neuen Mitarbeiter hinzufügen" Style="{DynamicResource ObjectEditGroupBox}">
<Grid>
@@ -158,21 +164,18 @@
</GroupBox>
</Border>
</controls:PopupNonTopmost>
<!-- ################################################################################################ -->
<!-- ##################### Klienten Vertretung Bereich ################################ -->
<!--<Button Content="Klienten Vertretung" Grid.Row="1" Grid.Column="1" Margin="3,3,3,3" x:Name="KlientVertretung_Button" Click="KlientVertretung_Button_OnClick"/>-->
<Button Style="{DynamicResource IconButtonStyle}" x:Name="KlientVertretung_Button" Grid.Row="1" Grid.Column="1" Background="Transparent" BorderBrush="Transparent" HorizontalAlignment="Left" Margin="3,3,3,3" Click="KlientVertretung_Button_OnClick" >
<Image x:Name="KlientImage" ToolTip="Klient Krankmelden" Source="../Ressources/Icons/UserHomeMaleDisabled.png" />
<!--<Button Style="{DynamicResource IconButtonStyle}" Content="Klienten Vertretung" Grid.Row="1" Grid.Column="1" Margin="3,3,3,3" x:Name="KlientVertretung_Button" Click="KlientVertretung_Button_OnClick"/>-->
<Button x:Name="KlientVertretung_Button" Background="Transparent" BorderBrush="Transparent" HorizontalAlignment="Left" Margin="3,3,3,3" Click="KlientVertretung_Button_OnClick" Content="Klient Krankmelden" >
<!-- <Image x:Name="KlientImage" ToolTip="Klient Krankmelden" Source="../Ressources/Icons/UserHomeMaleDisabled.png" />-->
</Button>
<controls:PopupNonTopmost Topmost="False" x:Name="popup_newKlientVertretung" Width="350" StaysOpen="True" Placement="Relative" Grid.Row="1" PlacementTarget="{Binding ElementName=KlientVertretung_Button}">
<controls:PopupNonTopmost Topmost="False" x:Name="popup_newKlientVertretung" Width="350" StaysOpen="True" Placement="MousePoint" Grid.Row="1" PlacementTarget="{Binding ElementName=KlientVertretung_Button}">
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_newKlientVertretung" Header="Neue Klienten hinzufügen" Style="{DynamicResource ObjectEditGroupBox}">
<Grid>
@@ -233,12 +236,14 @@
</GroupBox>
</Border>
</controls:PopupNonTopmost>
<!-- ################################################################################## -->
<Label Grid.ColumnSpan="3" Grid.Row="1" x:Name="Datelbl" HorizontalAlignment="Center" VerticalAlignment="Bottom" Content="PlaceHolder" FontSize="16" Margin="3,3,3,3" />
<!-- ################################################################################## -->
</StackPanel>
<Label Grid.ColumnSpan="3" Grid.Row="1" x:Name="Datelbl" HorizontalAlignment="Center" VerticalAlignment="Bottom" Content="PlaceHolder" FontSize="16" Margin="3,3,3,3" Grid.Column="0"/>
</Grid>
@@ -248,7 +253,7 @@
<dxg:GridControl.Columns >
<dxg:GridColumn FieldName="KrankerMitarbeiter" Width="200" />
<dxg:GridColumn FieldName="KrankerMitarbeiter" Width="125" ReadOnly="True"/>
<!--<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}">
<Style.Triggers>
@@ -260,7 +265,9 @@
</dxg:GridColumn.CellStyle>-->
<!--<dxe:ComboBoxEditSettings x:Name="ComboBoxEditSettingsVertretung"/>-->
<dxg:GridColumn FieldName="Kunde" Header="Kind" Width="200" >
<dxg:GridColumn FieldName="Arbeitszeit" ReadOnly="True" Width="75"/>
<dxg:GridColumn FieldName="Kunde" Header="Kind" Width="125" ReadOnly="True">
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Style.Triggers>
@@ -276,7 +283,7 @@
</dxg:GridColumn>
<dxg:GridColumn FieldName="Vertretung" Width="250" x:Name="ColumnVertretung" >
<dxg:GridColumn FieldName="Vertretung" Width="125" x:Name="ColumnVertretung" ReadOnly="True">
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSet" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
@@ -291,17 +298,24 @@
</dxg:GridColumn>
<dxg:GridColumn FieldName="KrankheitsMeldung" Width="200" />
<dxg:GridColumn FieldName="KrankheitsZeitraum" Width="200"/>
<dxg:GridColumn FieldName="KrankheitsMeldung" Width="125" />
<dxg:GridColumn FieldName="KrankheitsZeitraum" Width="175" ReadOnly="True">
<dxg:GridColumn.EditSettings>
<dxe:ComboBoxEditSettings DefaultButtonClick="KrankmeldungsZeitraumBearbeitungsView"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<!-- Maybee das gleiche wie oben -->
<dxg:GridColumn FieldName="VertretungsZeitraum" Width="175" ReadOnly="True" />
<dxg:GridColumn FieldName="AbwesenheitsKategorie" Width="200">
<dxg:GridColumn FieldName="AbwesenheitsKategorie" Width="175">
<dxg:GridColumn.EditSettings>
<dxe:ComboBoxEditSettings x:Name="AbwesenheitsKategorieComboBox"/>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Beschreibung" Header="Freie Bemerkung" Width="400" >
<dxg:GridColumn FieldName="Beschreibung" Header="Freie Bemerkung" Width="500" >
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings TextWrapping="Wrap" AcceptsReturn="True" />
</dxg:GridColumn.EditSettings>
@@ -330,7 +344,7 @@
<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="Ma Frei" Width="175" >
<dxg:GridColumn FieldName="MaFrei" Header="Mitarbeiter" Width="125" ReadOnly="True" >
<!--<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Border BorderThickness="1" BorderBrush="Black"/>
@@ -338,29 +352,43 @@
</dxg:GridColumn.CellTemplate>-->
</dxg:GridColumn>
<dxg:GridColumn FieldName="Mo" Header="Mo" Width="25" />
<dxg:GridColumn FieldName="Mo" Header="Mo" Width="75" />
<dxg:GridColumn FieldName="VertretungMo" Header="Eingesetzt bei" Width="175" >
<dxg:GridColumn FieldName="EingesetztBeiMo" Header="Eingesetzt bei" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaMo" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettings_OnDefaultButtonClick" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettingsAddKlient_OnDefaultButtonClick" >
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaMo" ToolTip="Hidden Valley Suddenly Dead"/>
</dxe:ButtonInfo.Content>
</dxe:ButtonInfo>
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiMo}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiMo}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Di" Header="Di" Width="25" />
<dxg:GridColumn FieldName="Di" Header="Di" Width="75" />
<dxg:GridColumn FieldName="VertretungDi" Header="Eingesetzt bei" Width="175" >
<dxg:GridColumn FieldName="EingesetztBeiDi" Header="Eingesetzt bei" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaDi" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettings_OnDefaultButtonClick" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettingsAddKlient_OnDefaultButtonClick" >
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaDi" ToolTip="Hidden Valley Suddenly Dead"/>
</dxe:ButtonInfo.Content>
@@ -368,15 +396,29 @@
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiDi}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiDi}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Mi" Header="Mi" Width="25" />
<dxg:GridColumn FieldName="Mi" Header="Mi" Width="75" />
<dxg:GridColumn FieldName="VertretungMi" Header="Eingesetzt bei" Width="175" >
<dxg:GridColumn FieldName="EingesetztBeiMi" Header="Eingesetzt bei" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaMi" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettings_OnDefaultButtonClick" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettingsAddKlient_OnDefaultButtonClick" >
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaMi" ToolTip="Hidden Valley Suddenly Dead"/>
</dxe:ButtonInfo.Content>
@@ -384,15 +426,29 @@
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiMi}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiMi}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Do" Header="Do" Width="25" />
<dxg:GridColumn FieldName="Do" Header="Do" Width="75" />
<dxg:GridColumn FieldName="VertretungDo" Header="Eingesetzt bei" Width="175" >
<dxg:GridColumn FieldName="EingesetztBeiDo" Header="Eingesetzt bei" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaDo" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettings_OnDefaultButtonClick" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettingsAddKlient_OnDefaultButtonClick" >
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaDo" ToolTip="Hidden Valley Suddenly Dead"/>
</dxe:ButtonInfo.Content>
@@ -400,15 +456,29 @@
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiDo}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiDo}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Fr" Header="Fr" Width="25" />
<dxg:GridColumn FieldName="Fr" Header="Fr" Width="75" />
<dxg:GridColumn FieldName="VertretungFr" Header="Eingesetzt bei" Width="175" >
<dxg:GridColumn FieldName="EingesetztBeiFr" Header="Eingesetzt bei" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaFr" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettings_OnDefaultButtonClick" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettingsAddKlient_OnDefaultButtonClick" >
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaFr" ToolTip="Hidden Valley Suddenly Dead"/>
</dxe:ButtonInfo.Content>
@@ -416,15 +486,29 @@
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiFr}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiFr}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Sa" Header="Sa" Width="25" />
<dxg:GridColumn FieldName="Sa" Header="Sa" Width="75" />
<dxg:GridColumn FieldName="VertretungSa" Header="Eingesetzt bei" Width="175" >
<dxg:GridColumn FieldName="EingesetztBeiSa" Header="Eingesetzt bei" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMaSa" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettings_OnDefaultButtonClick" >
<dxe:ButtonInfo GlyphKind="Custom" ButtonKind="Simple" Click="ButtonEditSettingsAddKlient_OnDefaultButtonClick" >
<dxe:ButtonInfo.Content>
<Image Source ="../Ressources/Icons/Search.png" Width="20" Height="15" RenderOptions.BitmapScalingMode="HighQuality" x:Name="SearchImageButtonMaSa" ToolTip="Hidden Valley Suddenly Dead"/>
</dxe:ButtonInfo.Content>
@@ -432,22 +516,36 @@
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiSa}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.EingesetztBeiSa}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" ShowGridMenu="DataViewBase_OnShowGridMenu" CellValueChanged="GridViewWochenMitarbeiterBase_OnRowUpdated" />
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="False" ShowGridMenu="DataViewBase_OnShowGridMenu" CellValueChanged="GridViewWochenMitarbeiterBase_OnRowUpdated" />
</dxg:GridControl.View>
</dxg:GridControl>
<!--############################### Wochenüberblick Mitarbeiter ende ##############################################-->
<dxg:GridControl x:Name="GridDataControlKlientenWochenansicht" Visibility="Collapsed" Grid.Row="1" Grid.ColumnSpan="3" AllowDrop="true" Margin="5,5,5,5" VerticalContentAlignment="Center">
<dxg:GridControl x:Name="GridDataControlKlientenWochenansicht" Visibility="Collapsed" Grid.Row="1" Grid.ColumnSpan="3" AllowDrop="true" Margin="5,5,5,5" VerticalContentAlignment="Center" BorderBrush="Black" >
<dxg:GridControl.Columns >
<dxg:GridColumn FieldName="MaKrank" Header="Ma Krank" Width="175" >
<dxg:GridColumn FieldName="MaKrank" Header="Ma Krank" Width="125" ReadOnly="True" >
<!--<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Border BorderThickness="1" BorderBrush="Black" Background="Transparent"/>
@@ -455,7 +553,7 @@
</dxg:GridColumn.CellTemplate>-->
</dxg:GridColumn>
<dxg:GridColumn FieldName="Kind" Header="Kind" Width="175" >
<dxg:GridColumn FieldName="Kind" Header="Kind" Width="125" ReadOnly="True" >
<!--<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Border BorderThickness="1" BorderBrush="Black" Background="Transparent"/>
@@ -463,9 +561,9 @@
</dxg:GridColumn.CellTemplate>-->
</dxg:GridColumn>
<dxg:GridColumn FieldName="Mo" Header="Mo" Width="25" />
<dxg:GridColumn FieldName="Mo" Header="Mo" Width="75" />
<dxg:GridColumn FieldName="VertretungMo" Header="Vertretung" Width="175" >
<dxg:GridColumn FieldName="VertretungMo" Header="Vertretung" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMo" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
@@ -476,12 +574,26 @@
</dxe:ButtonInfo>
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.VertretungMo}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.VertretungMo}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Di" Header="Di" Width="25" />
<dxg:GridColumn FieldName="Di" Header="Di" Width="75" />
<dxg:GridColumn FieldName="VertretungDi" Header="Vertretung" Width="175" >
<dxg:GridColumn FieldName="VertretungDi" Header="Vertretung" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetDi" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
@@ -493,11 +605,26 @@
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.VertretungDi}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.VertretungDi}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Mi" Header="Mi" Width="25" />
<dxg:GridColumn FieldName="Mi" Header="Mi" Width="75" />
<dxg:GridColumn FieldName="VertretungMi" Header="Vertretung" Width="175" >
<dxg:GridColumn FieldName="VertretungMi" Header="Vertretung" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetMi" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
@@ -509,11 +636,25 @@
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.VertretungMi}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.VertretungMi}" Value="">
<Setter Property="Background" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Do" Header="Do" Width="25" />
<dxg:GridColumn FieldName="Do" Header="Do" Width="75" />
<dxg:GridColumn FieldName="VertretungDo" Header="Vertretung" Width="175" >
<dxg:GridColumn FieldName="VertretungDo" Header="Vertretung" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetDo" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
@@ -525,11 +666,26 @@
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.VertretungDo}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.VertretungDo}" Value="">
<Setter Property="Background" Value="Red" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Fr" Header="Fr" Width="25" />
<dxg:GridColumn FieldName="Fr" Header="Fr" Width="75" />
<dxg:GridColumn FieldName="VertretungFr" Header="Vertretung" Width="175" >
<dxg:GridColumn FieldName="VertretungFr" Header="Vertretung" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetFr" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
@@ -541,11 +697,26 @@
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.VertretungFr}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.VertretungFr}" Value="">
<Setter Property="Background" Value="Red" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Sa" Header="Sa" Width="25" />
<dxg:GridColumn FieldName="Sa" Header="Sa" Width="75" />
<dxg:GridColumn FieldName="VertretungSa" Header="Vertretung" Width="175" >
<dxg:GridColumn FieldName="VertretungSa" Header="Vertretung" Width="125" >
<dxg:GridColumn.EditSettings >
<dxe:ButtonEditSettings x:Name="ButtonEditSetSa" AllowDefaultButton="False">
<dxe:ButtonEditSettings.Buttons >
@@ -557,11 +728,26 @@
</dxe:ButtonEditSettings.Buttons>
</dxe:ButtonEditSettings>
</dxg:GridColumn.EditSettings>
<dxg:GridColumn.CellStyle>
<Style TargetType="{x:Type dxg:CellContentPresenter}" >
<Setter Property="Background" Value="#7fff7f" />
<Style.Triggers>
<DataTrigger Binding="{Binding RowData.Row.VertretungSa}" Value=" ">
<Setter Property="Background" Value="LightGray" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
<DataTrigger Binding="{Binding RowData.Row.VertretungSa}" Value="">
<Setter Property="Background" Value="Red" />
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</dxg:GridColumn.CellStyle>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="True" ShowGridMenu="DataViewBase_OnShowGridMenu" CellValueChanged="GridViewWochenKlientBase_OnRowUpdated" />
<dxg:GridControl.View>
<dxg:TableView AllowPerPixelScrolling="True" ShowTotalSummary="False" AutoWidth="False" ShowGridMenu="DataViewBase_OnShowGridMenu" CellValueChanged="GridViewWochenKlientBase_OnRowUpdated" AllowBestFit="True" />
</dxg:GridControl.View>
</dxg:GridControl>
@@ -647,12 +833,12 @@
<Popup Margin="10" x:Name="popup_MitarbeiterVertretung" StaysOpen="False" Placement="MousePoint" Width="370" Height="250"
Closed="popup_Closed" Opened="popup_Opened">
Closed="popup_Closed" Opened="popup_Opened">
<search:EmployeeSearchView x:Name="MitarbeiterVertretungsearchview" />
</Popup>
<Popup Margin="10" x:Name="popup_KlientVertretung" StaysOpen="False" Placement="MousePoint" Width="370" Height="250"
Closed="popup_Closed" Opened="popup_Opened">
Closed="popup_Closed" Opened="popup_Opened">
<search:CustomerSearchView x:Name="KlientVertretungsearchview" />
</Popup>
</Grid>

View File

@@ -7,8 +7,11 @@
Title="Chat Dokumentation" Height="500" Width="800" WindowStartupLocation="CenterScreen"
ResizeMode="CanResizeWithGrip" WindowStyle="None" Background="Transparent">
<GroupBox Header="Schulbegleitende Bearbeitungs View" x:Name="rootGroupBox" Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown">
<Grid Background="White">
<GroupBox Header="Schulbegleitende Bearbeitungs View" x:Name="rootGroupBox" Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}" MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown" >
<Grid>
<Grid Background="White" x:Name="rootGroupBoxMitarbeiter" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
@@ -76,8 +79,36 @@
<!-- #######################Closed="popup_Closed" Opened="popup_Opened"###StaysOpen="False"Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2"#################################################################################### -->
</Grid>
</GroupBox>
<!--####################################################### Klient hinzufügeview ########################################################-->
<Grid Background="White" x:Name="rootGroupBoxKlient" Visibility="Collapsed">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="25"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<search:CustomerSearchView x:Name="Klientsearchview" Margin="3,3,3,3" Grid.Row="0" Grid.Column="0"/>
<Button Content="Übernehmen" Width="75" Click="ButtonBaseKlient_OnClick" Margin="3,3,3,3" Grid.Row="1" Grid.Column="1"/>
</Grid>
</Grid>
</GroupBox>
</Window>

View File

@@ -42,8 +42,10 @@ namespace BeWo.SchulbegleitenderDienst
public event EventHandler<CustomEventArgs> RaiseCustomEvent;
public event EventHandler<CustomKlientEventArgs> RaiseKlientCustomEvent;
public SchulbegleitenderDienstBearbeitungsView()
public SchulbegleitenderDienstBearbeitungsView(int y)
{
InitializeComponent();
@@ -53,6 +55,18 @@ namespace BeWo.SchulbegleitenderDienst
CloseWindow();
if (y == 1)
{
//y == 1 Mitarbeiterauswahl
rootGroupBoxMitarbeiter.Visibility = Visibility.Visible;
}else if (y == 2)
{
//y == 2 Klientenauswahl
rootGroupBoxKlient.Visibility = Visibility.Visible;
}
}
@@ -137,7 +151,10 @@ namespace BeWo.SchulbegleitenderDienst
CompactEmployeeDC x = MitarbeiterVertretungsearchview.SelectedItem;
RaiseCustomEvent(this, new CustomEventArgs(x));
Close();
}
}
//Schließe aktuelles Fenster
@@ -145,6 +162,19 @@ namespace BeWo.SchulbegleitenderDienst
{
Close();
}
private void ButtonBaseKlient_OnClick(object sender, RoutedEventArgs e)
{
if (Klientsearchview.SelectedItem != null)
{
CompactCustomerDC x = Klientsearchview.SelectedItem;
RaiseKlientCustomEvent(this, new CustomKlientEventArgs(x));
Close();
}
}
}
public class CustomEventArgs : EventArgs
@@ -159,4 +189,19 @@ namespace BeWo.SchulbegleitenderDienst
get { return dc; }
}
}
public class CustomKlientEventArgs : EventArgs
{
private CompactCustomerDC dc;
public CustomKlientEventArgs(CompactCustomerDC s)
{
dc = s;
}
public CompactCustomerDC Message
{
get { return dc; }
}
}
}

View File

@@ -504,6 +504,14 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetActiveCompactEmployeeWithOidBeWoFaultFault" +
"", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.Compact.CompactEmployeeDC GetActiveCompactEmployeeWithOid(long employeeOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/InsertNewArbeitsZeit", ReplyAction="http://tempuri.org/IEmployeeService/InsertNewArbeitsZeitResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/InsertNewArbeitsZeitBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertNewArbeitsZeit(BS.Shared.DataContracts.ArbeitszeitDC arbeitszeit, BS.Shared.DataContracts.ArbeitszeitEintragDC arbeitszeitEintrag);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/UpdateArbeitszeit", ReplyAction="http://tempuri.org/IEmployeeService/UpdateArbeitszeitResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/UpdateArbeitszeitBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.ArbeitszeitDC UpdateArbeitszeit(BS.Shared.DataContracts.ArbeitszeitDC pArbeitszeit);
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -939,6 +947,16 @@ namespace BeWo.ServiceProxy
{
return base.Channel.GetActiveCompactEmployeeWithOid(employeeOid);
}
public void InsertNewArbeitsZeit(BS.Shared.DataContracts.ArbeitszeitDC arbeitszeit, BS.Shared.DataContracts.ArbeitszeitEintragDC arbeitszeitEintrag)
{
base.Channel.InsertNewArbeitsZeit(arbeitszeit, arbeitszeitEintrag);
}
public BS.Shared.DataContracts.ArbeitszeitDC UpdateArbeitszeit(BS.Shared.DataContracts.ArbeitszeitDC pArbeitszeit)
{
return base.Channel.UpdateArbeitszeit(pArbeitszeit);
}
}
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
@@ -4126,22 +4144,17 @@ namespace BeWo.ServiceProxy
"dDateBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.ServiceRecordDC> GetCustomerServiceRecordsCompactWithStartEndDate(long pCustomerOid, long costbearer2SupportConceptOid, System.DateTime start, System.DateTime ende);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetAllVertretungen", ReplyAction="http://tempuri.org/IOperationsService/GetAllVertretungenResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetAllVertretungenBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.VertretungDC> GetAllVertretungen();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewEmployeeAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/InsertNewEmployeeAbsenceTimeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewEmployeeAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertNewEmployeeAbsenceTime(long employeeOid, BS.Shared.DataContracts.AbsenceTimeDC at);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewMitarbeiterVertretung", ReplyAction="http://tempuri.org/IOperationsService/InsertNewMitarbeiterVertretungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewMitarbeiterVertretungBeWoFaultFaul" +
"t", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertNewMitarbeiterVertretung(BS.Shared.DataContracts.VertretungDC vertretungM, System.Nullable<long> absenceReasonOid, System.DateTime krankheitsMeldung);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewKlientenVertretung", ReplyAction="http://tempuri.org/IOperationsService/InsertNewKlientenVertretungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewKlientenVertretungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertNewKlientenVertretung(BS.Shared.DataContracts.VertretungDC vertretungK, System.Nullable<long> absenceReasonOid, System.DateTime krankheitsMeldung);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/InsertNewCustomerAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/InsertNewCustomerAbsenceTimeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/InsertNewCustomerAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void InsertNewCustomerAbsenceTime(long customerOid, BS.Shared.DataContracts.AbsenceTimeDC at);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeleteVertretung", ReplyAction="http://tempuri.org/IOperationsService/DeleteVertretungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeleteVertretungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeleteVertretung(BS.Shared.DataContracts.VertretungDC vert);
void DeleteVertretung(long vert);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateVertretung", ReplyAction="http://tempuri.org/IOperationsService/UpdateVertretungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateVertretungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
@@ -4151,6 +4164,23 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/VertretungsListeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
BS.Shared.DataContracts.VertretungsListeDC VertretungsListe(System.DateTime absenceTime);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/CreateVertretung", ReplyAction="http://tempuri.org/IOperationsService/CreateVertretungResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/CreateVertretungBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void CreateVertretung(BS.Shared.DataContracts.VertretungDC vertretung);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/DeactivateAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/DeactivateAbsenceTimeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/DeactivateAbsenceTimeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void DeactivateAbsenceTime(System.Collections.Generic.Dictionary<long, long> pOid2Version);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateVertretungAndAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/UpdateVertretungAndAbsenceTimeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateVertretungAndAbsenceTimeBeWoFaultFaul" +
"t", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void UpdateVertretungAndAbsenceTime(BS.Shared.DataContracts.VertretungDC vert, BS.Shared.DataContracts.AbsenceTimeDC abs);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateAbsenceTime", ReplyAction="http://tempuri.org/IOperationsService/UpdateAbsenceTimeResponse")]
[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/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);
@@ -4846,22 +4876,17 @@ namespace BeWo.ServiceProxy
return base.Channel.GetCustomerServiceRecordsCompactWithStartEndDate(pCustomerOid, costbearer2SupportConceptOid, start, ende);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.VertretungDC> GetAllVertretungen()
public void InsertNewEmployeeAbsenceTime(long employeeOid, BS.Shared.DataContracts.AbsenceTimeDC at)
{
return base.Channel.GetAllVertretungen();
base.Channel.InsertNewEmployeeAbsenceTime(employeeOid, at);
}
public void InsertNewMitarbeiterVertretung(BS.Shared.DataContracts.VertretungDC vertretungM, System.Nullable<long> absenceReasonOid, System.DateTime krankheitsMeldung)
public void InsertNewCustomerAbsenceTime(long customerOid, BS.Shared.DataContracts.AbsenceTimeDC at)
{
base.Channel.InsertNewMitarbeiterVertretung(vertretungM, absenceReasonOid, krankheitsMeldung);
base.Channel.InsertNewCustomerAbsenceTime(customerOid, at);
}
public void InsertNewKlientenVertretung(BS.Shared.DataContracts.VertretungDC vertretungK, System.Nullable<long> absenceReasonOid, System.DateTime krankheitsMeldung)
{
base.Channel.InsertNewKlientenVertretung(vertretungK, absenceReasonOid, krankheitsMeldung);
}
public void DeleteVertretung(BS.Shared.DataContracts.VertretungDC vert)
public void DeleteVertretung(long vert)
{
base.Channel.DeleteVertretung(vert);
}
@@ -4876,6 +4901,26 @@ namespace BeWo.ServiceProxy
return base.Channel.VertretungsListe(absenceTime);
}
public void CreateVertretung(BS.Shared.DataContracts.VertretungDC vertretung)
{
base.Channel.CreateVertretung(vertretung);
}
public void DeactivateAbsenceTime(System.Collections.Generic.Dictionary<long, long> pOid2Version)
{
base.Channel.DeactivateAbsenceTime(pOid2Version);
}
public void UpdateVertretungAndAbsenceTime(BS.Shared.DataContracts.VertretungDC vert, BS.Shared.DataContracts.AbsenceTimeDC abs)
{
base.Channel.UpdateVertretungAndAbsenceTime(vert, abs);
}
public void UpdateAbsenceTime(BS.Shared.DataContracts.AbsenceTimeDC abs)
{
base.Channel.UpdateAbsenceTime(abs);
}
public void DeactivateInvoices(System.Collections.Generic.List<BS.Shared.DataContracts.InvoiceDC> invoices)
{
base.Channel.DeactivateInvoices(invoices);

View File

@@ -686,6 +686,8 @@
</Grid>
</TabItem>
<TabItem Header="Dokumente" Name="tabitem_documents" Selector.Selected="tabitem_documents_Selected" />
<TabItem Header="Arbeitszeit" Name="tabitem_arbeitszeit" Selector.Selected="tabitem_arbeitszeit_Selected" />
<TabItem Header="Chat Service" Name="tabitem_chatservice" Selector.Selected="tabitem_chatservice_Selected" />

View File

@@ -441,6 +441,14 @@ namespace BeWo.View.Detail
}
}
private void tabitem_arbeitszeit_Selected(object sender, RoutedEventArgs e)
{
if (tabitem_arbeitszeit.Content == null)
{
tabitem_arbeitszeit.Content = new EmployeeArbeitszeitView(_ViewModel, ViewModel.DataContract.EmployeeOid.Value);
}
}
private void tabitem_chatservice_Selected(object sender, RoutedEventArgs e)
{
if (tabitem_chatservice.Content == null)

View File

@@ -0,0 +1,247 @@
<localView:BeWoView x:Class="BeWo.View.EmployeeArbeitszeitView"
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"
xmlns:controls="clr-namespace:BeWo.View.Controls"
xmlns:validation="clr-namespace:BeWo.Validation"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:shared="clr-namespace:BS.Shared;assembly=BS.Shared"
VerticalAlignment="Stretch" Focusable="True">
<localView:BeWoView.Resources>
<Style x:Key="bargeldkassenListBoxItemStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="Background" Value="#00FFFFFF" />
<Setter Property="HorizontalContentAlignment" Value="{Binding Path=HorizontalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}" />
<Setter Property="VerticalContentAlignment" Value="{Binding Path=VerticalContentAlignment, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type ItemsControl}}}" />
<Setter Property="Padding" Value="2,0,0,0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border x:Name="Bd" SnapsToDevicePixels="True" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
Content="{TemplateBinding Content}"
ContentStringFormat="{TemplateBinding ContentStringFormat}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ObjectDataProvider MethodName="GetValues"
ObjectType="{x:Type sys:Enum}"
x:Key="AppointmentDayOfWeeks">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="shared:AppointmentDayOfWeek" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</localView:BeWoView.Resources>
<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="Arbeitszeit">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Orientation="Vertical" Grid.RowSpan="2">
<Button Content="Neue Arbeitszeit hinzufügen" Margin="3" HorizontalAlignment="Left" IsEnabled="{Binding Path=DarfBargeldTransaktionAnlegen, RelativeSource={RelativeSource AncestorType={x:Type localView:BargeldkassenView}}}" Click="ButtonOpenAndAddArbeitszeitClick" />
<TabControl x:Name="tabcontrol_Arbeitszeit" Margin="5" ItemsSource="{Binding Arbeitszeiten.VMList}">
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Label Content="{Binding ArbeitszeitString}" />
<Button
VerticalAlignment="Center" Height="20" Visibility="{Binding IsSelected, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}, Converter={StaticResource BoolVisibilityConverter}}"
Click="btn_deleteArbeitszeit_Click" Name="btn_deleteContract"
ToolTip="Arbeitszeit löschen"
Style="{DynamicResource CloseButtonStyle}" Margin="0" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<ScrollViewer HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GroupBox Margin="5" Style="{DynamicResource ObjectEditGroupBox}">
<GroupBox.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="23" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock Text="Details" Margin="0 1" Grid.Row="1" Name="Details"
VerticalAlignment="Bottom"
TextElement.FontSize="16"
TextElement.Foreground="{StaticResource TabItemHotTextBrush}"
TextElement.FontFamily="Microsoft Sans Serif"
/>
<Grid Margin="0" Grid.Row="0" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Margin="0,3,3,3" VerticalAlignment="Center" >Arbeitszeit Von</Label>
<Label Grid.Column="2" Grid.Row="0" Margin="3" VerticalAlignment="Center">Arbeitszeit Bis</Label>
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" AllowNullInput="True" Grid.Column="1" Grid.Row="0" Margin="3" Width="125" Height="23" EditValue="{Binding Path=GueltigVon, UpdateSourceTrigger=PropertyChanged}"/>
<dxe:DateEdit MaskType="DateTimeAdvancingCaret" AllowNullInput="True" Grid.Column="3" Grid.Row="0" Margin="3" Width="125" Height="23" EditValue="{Binding Path=GueltigBis, UpdateSourceTrigger=PropertyChanged}"/>
<Button Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Content="Hinzufügen" HorizontalAlignment="Left" Click="AddArbeitszeitToView_Click" Height="23"/>
<controls:PopupNonTopmost Name="popup_newArbeitszeitEintrag" Placement="MousePoint" >
<Border Background="White" Padding="3" BorderThickness="1" BorderBrush="Gray">
<GroupBox x:Name="groupbox_newArbeistzeit" Header="Neuen Eintrag hinzufügen" Style="{DynamicResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0" Margin="3" VerticalAlignment="Center">Tag</Label>
<Label Grid.Column="0" Grid.Row="1" Margin="3" VerticalAlignment="Center">Uhrzeit Von</Label>
<Label Grid.Column="0" Grid.Row="2" Margin="3" VerticalAlignment="Center">Uhrzeit Bis</Label>
<Label Grid.Column="0" Grid.Row="3" Margin="3" VerticalAlignment="Top">Beschreibung</Label>
<dxe:ComboBoxEdit Grid.Column="1" Grid.Row="0" VerticalContentAlignment="Center" Margin="3" Height="23" ItemsSource="{Binding Source={StaticResource AppointmentDayOfWeeks}}"
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.Tag, UpdateSourceTrigger=PropertyChanged}"
Name="Tag" IsTextEditable="False"/>
<dxe:TextEdit Grid.Column="1" Grid.Row="1" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" Name="UhrzeitVon"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.UhrzeitVon, UpdateSourceTrigger=PropertyChanged}"
Height="23"
Margin="3,3,3,3"/>
<dxe:TextEdit Grid.Column="1" Grid.Row="2" MaskType="RegEx" Mask="(0?\d|1\d|2[0-3]):[0-5]\d" ShowError="False" MaskShowPlaceHolders="True" Name="UhrzeitBis"
MaskUseAsDisplayFormat="True" InvalidValueBehavior="AllowLeaveEditor"
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.UhrzeitBis, UpdateSourceTrigger=PropertyChanged}"
Height="23"
Margin="3,3,3,3"/>
<dxe:TextEdit Grid.Column="1" Grid.Row="3" Grid.RowSpan="2" Name="Notiz" Margin="3,3,3,3" TextWrapping="Wrap" AcceptsReturn="True" Width="250" Height="125" VerticalContentAlignment="Top" VerticalScrollBarVisibility="Auto"
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.Notice, UpdateSourceTrigger=PropertyChanged}"/>
<StackPanel Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="5" Orientation="Horizontal" HorizontalAlignment="Right">
<Button Click="PopupNewArbeitszeit_Click" Content="Hinzufügen" Height="25"
FontWeight="Normal" Margin="3" VerticalAlignment="Center" HorizontalAlignment="Right" />
<Button HorizontalAlignment="Right" VerticalAlignment="Center" Height="25"
Margin="3" Content="Abbrechen" Click="PopupArbeitszeitClose_Click" />
</StackPanel>
</Grid>
</GroupBox>
</Border>
</controls:PopupNonTopmost>
</Grid>
</Grid>
</GroupBox.Header>
<dxg:GridControl Name="grid_bargeldtransaktionen" Tag="{Binding}" MaxWidth="{Binding ElementName=BlubbTest, Path=ActualWidth}" DataSource="{Binding Path=ArbeitszeitEintraege.VMList, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" >
<dxg:GridControl.Columns>
<dxg:GridColumn Header="Tag" FixedWidth="True" Width="100" ReadOnly="True" FieldName="Tag" SortOrder="Ascending"/>
<dxg:GridColumn Header="Uhrzeit Von" FixedWidth="True" Width="250" ReadOnly="True" FieldName="UhrzeitVon" />
<dxg:GridColumn Header="Uhrzeit Bis" FixedWidth="True" Width="250" ReadOnly="True" FieldName="UhrzeitBis"/>
<dxg:GridColumn Header="Notiz" FixedWidth="True" Width="500" ReadOnly="True" FieldName="Notice"/>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView NavigationStyle="Cell" Margin="2,2,2,2" AutoWidth="True" ShowGroupPanel="False" ShowGroupedColumns="False" ShowTotalSummary="False" HorizontalContentAlignment="Left"/>
</dxg:GridControl.View>
</dxg:GridControl>
</GroupBox>
</Grid>
</ScrollViewer>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
</StackPanel>
</Grid>
</GroupBox>
</Grid>
</Grid>
</localView:BeWoView>

View File

@@ -0,0 +1,122 @@
using System;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Documents;
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.ViewModel;
using BeWo.ServiceProxy;
using BeWo.View.Controls;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared;
using BS.Shared.Core;
using DevExpress.Xpf.Editors;
using Microsoft.Win32;
namespace BeWo.View
{
public partial class EmployeeArbeitszeitView
{
private EmployeeVM _ViewModel;
long? employeeOid;
public EmployeeArbeitszeitView(EmployeeVM employeeVm, long? oid)
{
InitializeComponent();
tabcontrol_Arbeitszeit.Loaded += (s, e) =>
{
if (tabcontrol_Arbeitszeit.Items.Count > 0)
{
tabcontrol_Arbeitszeit.SelectedIndex = tabcontrol_Arbeitszeit.Items.Count - 1;
}
};
employeeOid = oid;
ViewModel = employeeVm;
}
private EmployeeVM ViewModel
{
get { return _ViewModel; }
set
{
DataContext = value;
_ViewModel = value;
}
}
private void ButtonOpenAndAddArbeitszeitClick(object sender, RoutedEventArgs e)
{
ViewModel.Arbeitszeiten.AddNewVMToList();
tabcontrol_Arbeitszeit.SelectedIndex = tabcontrol_Arbeitszeit.Items.Count - 1;
}
private void PopupNewArbeitszeit_Click(object sender, RoutedEventArgs e)
{
var tab = tabcontrol_Arbeitszeit.Items.GetItemAt(tabcontrol_Arbeitszeit.SelectedIndex);
var avm = tab as ArbeitszeitVM;
if (avm != null)
{
avm.ArbeitszeitEintraege.AddNewVMToList();
}
var popup = tabcontrol_Arbeitszeit.GetAllChildren().OfType<PopupNonTopmost>();
var popup_NewArbeitszeitEintrag = popup.First(x => x.Name.Equals("popup_newArbeitszeitEintrag"));
popup_NewArbeitszeitEintrag.IsOpen = false;
}
private void btn_deleteArbeitszeit_Click(object sender, RoutedEventArgs e)
{
var arbeitszeit = tabcontrol_Arbeitszeit.SelectedItem as ArbeitszeitVM;
ViewModel.Arbeitszeiten.VMList.Remove(arbeitszeit);
}
private void AddArbeitszeitToView_Click(object sender, RoutedEventArgs e)
{
var popup = tabcontrol_Arbeitszeit.GetAllChildren().OfType<PopupNonTopmost>();
var popup_NewArbeitszeitEintrag = popup.First(x => x.Name.Equals("popup_newArbeitszeitEintrag"));
popup_NewArbeitszeitEintrag.IsOpen = true;
}
private void PopupArbeitszeitClose_Click(object sender, RoutedEventArgs e)
{
var popup = tabcontrol_Arbeitszeit.GetAllChildren().OfType<PopupNonTopmost>();
var popup_NewArbeitszeitEintrag = popup.First(x => x.Name.Equals("popup_newArbeitszeitEintrag"));
popup_NewArbeitszeitEintrag.IsOpen = false;
}
}
}

View File

@@ -19,6 +19,7 @@ namespace BeWo.ViewModel
public AbstractDCMapperVM(DCType pDataContract, bool pIsNew)
{
_IsNew = pIsNew;
DataContract = pDataContract;
InitByDataContract(DataContract);
@@ -45,7 +46,10 @@ namespace BeWo.ViewModel
return _IsNew.Value;
}
set { _IsNew = value; }
set
{
_IsNew = value;
}
}
internal DCType DataContract { get; set; }

View File

@@ -0,0 +1,113 @@
using BS.Shared;
using BS.Shared.DataContracts;
using System;
namespace BeWo.ViewModel
{
public class ArbeitszeitEintragVM : AbstractDCMapperVM<ArbeitszeitEintragDC>
{
public static string PropertyName_UhrzeitVon = "UhrzeitVon";
public static string PropertyName_UhrzeitBis = "UhrzeitBis";
public static string PropertyName_Tag = "Tag";
public static string PropertyName_Notice = "Notice";
private string _UhrzeitVon;
private string _UhrzeitBis;
private AppointmentDayOfWeek _Tag;
private string _Notice;
public ArbeitszeitEintragVM(ArbeitszeitEintragDC pDC)
: base(pDC, pDC.ArbeitszeitEintragOid == null)
{
}
public string UhrzeitVon
{
get { return this._UhrzeitVon; }
set
{
if (this.AreDifferent(this._UhrzeitVon, value))
{
this._UhrzeitVon = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.UhrzeitVon, value), PropertyName_UhrzeitVon);
this.FirePropertyChanged(PropertyName_UhrzeitVon);
}
}
}
public string UhrzeitBis
{
get { return this._UhrzeitBis; }
set
{
if (this.AreDifferent(this._UhrzeitBis, value))
{
this._UhrzeitBis = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.UhrzeitBis, value), PropertyName_UhrzeitBis);
this.FirePropertyChanged(PropertyName_UhrzeitBis);
}
}
}
public AppointmentDayOfWeek Tag
{
get { return this._Tag; }
set
{
if (this.AreDifferent(this._Tag, value))
{
this._Tag = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.Tag, value), PropertyName_Tag);
this.FirePropertyChanged(PropertyName_Tag);
}
}
}
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(ArbeitszeitEintragDC pDataContract)
{
this._Tag = pDataContract.Tag;
this._UhrzeitVon = pDataContract.UhrzeitVon;
this._UhrzeitBis = pDataContract.UhrzeitBis;
this._Notice = pDataContract.Notice;
}
protected override ArbeitszeitEintragDC MapToDataContract(ArbeitszeitEintragDC pDataContract, bool doCommit)
{
pDataContract.UhrzeitVon = _UhrzeitVon;
pDataContract.UhrzeitBis = _UhrzeitBis;
pDataContract.Tag = _Tag;
pDataContract.Notice = _Notice;
return pDataContract;
}
}
}

View File

@@ -0,0 +1,157 @@
using BS.Shared;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using BeWo.ViewModel.ListViewModel;
namespace BeWo.ViewModel
{
public class ArbeitszeitVM : AbstractDCMapperVM<ArbeitszeitDC>
{
public static string PropertyName_GueltigVon = "GueltigVon";
public static string PropertyName_GueltigBis = "GueltigBis";
public static string PropertyName_Notice = "Notice";
public static string PropertyName_ArbeitszeitEintragListeVM = "ArbeitszeitEintragListeVM";
public static string PropertyName_ArbeitszeitString = "ArbeitszeitString";
private DateTime? _GueltigVon;
private DateTime? _GueltigBis;
private string _Notice;
private ArbeitszeitEintragListVM _ArbeitszeitEintraege;
public ArbeitszeitVM(ArbeitszeitDC pDC)
: base(pDC, pDC.ArbeitszeitOid == null)
{
}
public override bool IsDirty
{
get
{
return base.IsDirty || (_ArbeitszeitEintraege != null && _ArbeitszeitEintraege.IsDirty);
}
}
public DateTime? GueltigVon
{
get { return this._GueltigVon; }
set
{
if (this.AreDifferent(this._GueltigVon, value))
{
this._GueltigVon = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.GueltigVon, value), PropertyName_GueltigVon);
this.FirePropertyChanged(PropertyName_GueltigVon);
this.FirePropertyChanged(PropertyName_ArbeitszeitString);
}
}
}
public DateTime? GueltigBis
{
get { return this._GueltigBis; }
set
{
if (this.AreDifferent(this._GueltigBis, value))
{
this._GueltigBis = value;
this.StoreDirtyInformation(this.AreDifferent(this.DataContract.GueltigBis, value), PropertyName_GueltigBis);
this.FirePropertyChanged(PropertyName_GueltigBis);
this.FirePropertyChanged(PropertyName_ArbeitszeitString);
}
}
}
public string Notice
{
get { return _Notice; }
set
{
if (AreDifferent(_Notice, value))
{
_Notice = value;
StoreDirtyInformation(AreDifferent(DataContract.Notice, value), PropertyName_Notice);
FirePropertyChanged(PropertyName_Notice);
}
}
}
public string ArbeitszeitString
{
get
{
String text = "";
if (this._GueltigVon.HasValue)
{
text = String.Format("Arbeitszeit vom {0:dd.MM.yyyy}", this._GueltigVon);
if (this._GueltigBis.HasValue)
{
text += String.Format(" - {0:dd.MM.yyyy}", this._GueltigBis);
}
}
else
{
if (this._GueltigBis.HasValue)
{
text = String.Format("Arbeitszeit bis {0:dd.MM.yyyy}", this._GueltigBis);
}
}
if (String.IsNullOrEmpty(text))
{
if (this.IsNew)
text = "Neue Arbeitszeit";
else
text = "Arbeitszeit";
}
return text;
}
set { }
}
public ArbeitszeitEintragListVM ArbeitszeitEintraege
{
get { return _ArbeitszeitEintraege; }
set
{
_ArbeitszeitEintraege = value;
FirePropertyChanged(PropertyName_ArbeitszeitEintragListeVM);
}
}
protected override void InitByDataContract(ArbeitszeitDC pDataContract)
{
this._GueltigBis = pDataContract.GueltigBis;
this._GueltigVon = pDataContract.GueltigVon;
this._Notice = pDataContract.Notice;
ArbeitszeitEintraege = VMFactory.CreateArbeitszeitEintragListVm(pDataContract.Eintraege ?? (pDataContract.Eintraege = new List<ArbeitszeitEintragDC>()));
}
protected override ArbeitszeitDC MapToDataContract(ArbeitszeitDC pDataContract, bool doCommit)
{
pDataContract.GueltigVon = _GueltigVon;
pDataContract.GueltigBis = _GueltigBis;
pDataContract.Notice = _Notice;
pDataContract.Eintraege = _ArbeitszeitEintraege.CopyToDCList(doCommit);
return pDataContract;
}
}
}

View File

@@ -76,6 +76,7 @@ namespace BeWo.ViewModel
public static String PropertyName_EmployeeColor = "EmployeeColor";
public static String PropertyName_EmployeeBrush = "EmployeeBrush";
public static string PropertyName_EmployeeImage = "EmployeeImage";
public static string PropertyName_Arbeitszeiten = "Arbeitszeiten";
#endregion
@@ -126,6 +127,7 @@ namespace BeWo.ViewModel
private String _EmployeeColor;
private SolidColorBrush _EmployeeBrush;
private byte[] _EmployeeImage;
private ArbeitszeitListVM _ArbeitszeitListe;
public EmployeeVM(
EmployeeDC pEmployeeDC, IList<EmploymentTypeDC> pPossibleTypes, IEnumerable<ValueListEntryDC> pPossibleQualifications,
@@ -135,7 +137,8 @@ namespace BeWo.ViewModel
_PossibleEmploymentTypes = pPossibleTypes;
Contracts = new ContractListVM(_PossibleEmploymentTypes, DataContract.Contracts ?? (DataContract.Contracts = new List<ContractDC>()));
Arbeitszeiten = new ArbeitszeitListVM(DataContract.Arbeitszeiten);
_PossibleQualifications = DataContract.Qualifications != null
? new ObservableSortCollection<ValueListEntryDC>(pPossibleQualifications.Except(DataContract.Qualifications), Comparer.ValueListEntryDCComparer)
: new ObservableSortCollection<ValueListEntryDC>(pPossibleQualifications, Comparer.ValueListEntryDCComparer);
@@ -260,6 +263,17 @@ namespace BeWo.ViewModel
}
}
public ArbeitszeitListVM Arbeitszeiten
{
get { return _ArbeitszeitListe; }
set
{
_ArbeitszeitListe = value;
FirePropertyChanged(PropertyName_Arbeitszeiten);
}
}
public ContractVM LastContract
{
get
@@ -596,7 +610,7 @@ namespace BeWo.ViewModel
get
{
return base.IsDirty || (CustomerRelations != null && CustomerRelations.IsDirty)
|| (_AbsenceTimes != null && _AbsenceTimes.IsDirty) || (_Contracts != null && _Contracts.IsDirty) || (_Overtimes != null && _Overtimes.IsDirty);
|| (_AbsenceTimes != null && _AbsenceTimes.IsDirty) || (_Contracts != null && _Contracts.IsDirty) || (_Overtimes != null && _Overtimes.IsDirty) || (_ArbeitszeitListe != null && _ArbeitszeitListe.IsDirty);
}
}
@@ -1073,7 +1087,7 @@ namespace BeWo.ViewModel
_Text5 = pDataContract.Text5;
_Notice2 = pDataContract.Notice2;
_EmployeeColor = pDataContract.EmployeeColor;
if (pDataContract.Images != null && pDataContract.Images.Count > 0)
{
_EmployeeImage = pDataContract.Images[0];
@@ -1229,6 +1243,11 @@ namespace BeWo.ViewModel
pDataContract.Contracts = _Contracts.CopyToDCList(doCommit);
}
if (_ArbeitszeitListe != null)
{
pDataContract.Arbeitszeiten = _ArbeitszeitListe.CopyToDCList(doCommit);
}
if (_Overtimes != null)
{
pDataContract.Overtimes = _Overtimes.CopyToDCList(doCommit);

View File

@@ -0,0 +1,15 @@
using System.Collections.Generic;
using BS.Shared.DataContracts;
namespace BeWo.ViewModel.ListViewModel
{
public class ArbeitszeitEintragListVM : AbstractDCListMapperVM<ArbeitszeitEintragDC, ArbeitszeitEintragVM>
{
public ArbeitszeitEintragListVM(IEnumerable<ArbeitszeitEintragDC> pList)
: base(pList)
{
}
}
}

View File

@@ -0,0 +1,21 @@
using System.Collections.Generic;
using BS.Shared.DataContracts;
namespace BeWo.ViewModel.ListViewModel
{
public class ArbeitszeitListVM : AbstractDCListMapperVM<ArbeitszeitDC, ArbeitszeitVM>
{
public ArbeitszeitListVM(List<ArbeitszeitDC> pDCs)
: base(pDCs)
{
}
protected override ArbeitszeitVM CreateVM(ArbeitszeitDC pDC)
{
ArbeitszeitVM vm = base.CreateVM(pDC);
return vm;
}
}
}

View File

@@ -730,5 +730,10 @@ namespace BeWo.ViewModel
{
return new SupportConceptApprovalPeriodEmployeeRelListVM(pList);
}
public static ArbeitszeitEintragListVM CreateArbeitszeitEintragListVm(IEnumerable<ArbeitszeitEintragDC> pList)
{
return new ArbeitszeitEintragListVM(pList);
}
}
}

View File

@@ -137,7 +137,7 @@
<WebProjectProperties>
<UseIIS>False</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>65460</DevelopmentServerPort>
<DevelopmentServerPort>58676</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost/BeWoPlanerAndroid</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>

View File

@@ -34,7 +34,7 @@
</root>
</log4net>
<appSettings>
<add key="MultitenancyPath" value="C:\Projekte\BeWo\Host\Multitenancy\" /> <!--F:\Projects\BeWo\Host\Multitenancy\ -->
<add key="MultitenancyPath" value="F:\Projects\BeWo\Host\Multitenancy\" /> <!-- C:\Projekte\BeWo\Host\Multitenancy\-->
<add key="BeWoPlanerAndroid.AndroidSoapService" value="http://localhost/AndroidSoapService.asmx" />
</appSettings>
<system.serviceModel>

View File

@@ -124,7 +124,7 @@
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="MultitenancyPath" value="C:\Projekte\BeWo\Host\Multitenancy\" />
<add key="MultitenancyPath" value="F:\Projects\BeWo\Host\Multitenancy\" />
<!--<add key="MultitenancyPath" value="..\Host\Multitenancy"/>-->
</appSettings>

View File

@@ -2053,9 +2053,47 @@ namespace BeWo.Data.Access
var lcustomer = DAOFactory.GenericDAO.GetActiveByIDs<Customer>(customer);
liste.Customerlist = lcustomer.ToList();
liste.Customerlist = lcustomer.ToList();
var qemployeeArbeitszeit = Session.CreateSQLQuery("SELECT Oid FROM Arbeitszeit");
var employeeArbeitszeit = qemployeeArbeitszeit.List<long>();
var larbeitszeit = DAOFactory.GenericDAO.GetActiveByIDs<Arbeitszeit>(employeeArbeitszeit);
liste.Arbeitszeitliste = larbeitszeit.ToList();
return liste;
}
public ArbeitszeitListe FindEmployeeArbeitszeitListe(long employeeOid)
{
var c = CreateCriteria<Arbeitszeit>().Add(Restrictions.Eq(Arbeitszeit.PropertyName_EmployeeOid,employeeOid));
List<long> nAr = new List<long>();
foreach (var item in c.List<Arbeitszeit>())
{
nAr.Add(item.Oid.Value);
}
ArbeitszeitListe a = new ArbeitszeitListe();
a.Arbeitszeit = c.List<Arbeitszeit>().ToList();
if(nAr.Count != 0){
var cEintrag =
CreateCriteria<ArbeitszeitEintrag>()
.Add(Restrictions.In(ArbeitszeitEintrag.PropertyName_ArbeitszeitOid, nAr));
a.ArbeitszeitEintrag = cEintrag.List<ArbeitszeitEintrag>().ToList();
}
return a;
}
}
}

View File

@@ -159,6 +159,9 @@
<Compile Include="Entities\ChatMessage.cs" />
<Compile Include="Entities\ChatMediaMessage.cs" />
<Compile Include="Entities\Image.cs" />
<Compile Include="Entities\Arbeitszeit.cs" />
<Compile Include="Entities\ArbeitszeitEintrag.cs" />
<Compile Include="Entities\ArbeitszeitListe.cs" />
<Compile Include="Entities\VertretungsListe.cs" />
<Compile Include="Entities\Kriterien.cs" />
<Compile Include="Entities\Vertretung.cs" />
@@ -557,6 +560,12 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="ICD10\icd10gm2012syst_claml_20110923.xml" />
<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>

View File

@@ -0,0 +1,88 @@
using BS.Shared;
using System;
using System.Collections.Generic;
namespace BeWo.Data.Entities
{
public class Arbeitszeit : BeWoEntityBase
{
public static string PropertyName_GueltigVon = "GueltigVon";
public static string PropertyName_GueltigBis = "GueltigBis";
public static string PropertyName_EmployeeOid = "EmployeeOid";
public static string PropertyName_ArbeitsZeiteintragListe = "ArbeitszeitEintraege";
private DateTime? _GueltigVon;
private DateTime? _GueltigBis;
private long? _EmployeeOid;
private IList<ArbeitszeitEintrag> _ArbeitszeitEintraege;
public virtual DateTime? GueltigVon
{
get
{
return this._GueltigVon;
}
set
{
if (this.AreDifferent(this._GueltigVon, value))
{
this._GueltigVon = value;
}
}
}
public virtual DateTime? GueltigBis
{
get
{
return this._GueltigBis;
}
set
{
if (this.AreDifferent(this._GueltigBis, value))
{
this._GueltigBis = value;
}
}
}
public virtual long? EmployeeOid
{
get
{
return this._EmployeeOid;
}
set
{
if (this.AreDifferent(this._EmployeeOid, value))
{
this._EmployeeOid = value;
}
}
}
public virtual IList<ArbeitszeitEintrag> ArbeitszeitEintraege
{
get { return this._ArbeitszeitEintraege ?? (_ArbeitszeitEintraege = new List<ArbeitszeitEintrag>()); }
set
{
if (this.AreDifferent(this._ArbeitszeitEintraege, value))
{
this._ArbeitszeitEintraege = value;
}
}
}
}
}

View File

@@ -0,0 +1,91 @@
using BS.Shared;
using System;
namespace BeWo.Data.Entities
{
public class ArbeitszeitEintrag : BeWoEntityBase
{
public static string PropertyName_UhrzeitVon = "UhrzeitVon";
public static string PropertyName_UhrzeitBis = "UhrzeitBis";
public static string PropertyName_Tag = "Tag";
public static string PropertyName_ArbeitszeitOid = "ArbeitszeitOid";
private string _UhrzeitVon;
private string _UhrzeitBis;
private AppointmentDayOfWeek _Tag;
private long? _ArbeitszeitOid;
public virtual string UhrzeitVon
{
get
{
return this._UhrzeitVon;
}
set
{
if (this.AreDifferent(this._UhrzeitVon, value))
{
this._UhrzeitVon = value;
}
}
}
public virtual string UhrzeitBis
{
get
{
return this._UhrzeitBis;
}
set
{
if (this.AreDifferent(this._UhrzeitBis, value))
{
this._UhrzeitBis = value;
}
}
}
public virtual AppointmentDayOfWeek Tag
{
get
{
return this._Tag;
}
set
{
if (this.AreDifferent(this._Tag, value))
{
this._Tag = value;
}
}
}
public virtual long? ArbeitszeitOid
{
get
{
return this._ArbeitszeitOid;
}
set
{
if (this.AreDifferent(this._ArbeitszeitOid, value))
{
this._ArbeitszeitOid = value;
}
}
}
}
}

View File

@@ -0,0 +1,51 @@
using BS.Shared;
using System;
using System.Collections.Generic;
namespace BeWo.Data.Entities
{
public class ArbeitszeitListe : BeWoEntityBase
{
public static string PropertyName_ArbeitszeitEintrag = "ArbeitszeitEintrag";
public static string PropertyName_Arbeitszeit = "Arbeitszeit";
private List<ArbeitszeitEintrag> _ArbeitszeitEintrag;
private List<Arbeitszeit> _Arbeitszeit;
public virtual List<ArbeitszeitEintrag> ArbeitszeitEintrag
{
get
{
return this._ArbeitszeitEintrag;
}
set
{
if (this.AreDifferent(this._ArbeitszeitEintrag, value))
{
this._ArbeitszeitEintrag = value;
}
}
}
public virtual List<Arbeitszeit> Arbeitszeit
{
get
{
return this._Arbeitszeit;
}
set
{
if (this.AreDifferent(this._Arbeitszeit, value))
{
this._Arbeitszeit = value;
}
}
}
}
}

View File

@@ -36,6 +36,8 @@ namespace BeWo.Data.Entities
public static string PropertyName_Contracts = "Contracts";
public static string PropertyName_Arbeitszeit = "Arbeitszeit";
public static string PropertyName_Text1 = "Text1";
public static string PropertyName_Text2 = "Text2";
@@ -54,6 +56,8 @@ namespace BeWo.Data.Entities
private IList<Contract> _Contracts;
private IList<Arbeitszeit> _Arbeitszeit;
private IList<Employee2Customer> _Employee2CustomerList;
private string _HealthInsurance;
@@ -152,6 +156,19 @@ namespace BeWo.Data.Entities
}
}
public virtual IList<Arbeitszeit> Arbeitszeit
{
get { return _Arbeitszeit ?? (_Arbeitszeit = new List<Arbeitszeit>()); }
set
{
if (AreDifferent(_Arbeitszeit, value))
{
_Arbeitszeit = value;
}
}
}
public virtual IList<Employee2Customer> Employee2CustomerList
{
get { return _Employee2CustomerList ?? (_Employee2CustomerList = new List<Employee2Customer>()); }

View File

@@ -14,6 +14,8 @@ namespace BeWo.Data.Entities
public static string PropertyName_AbsenceReasonsListe = "AbsenceTimesListe";
public static string PropertyName_Arbeitszeitliste = "Arbeitszeitliste";
public static string PropertyName_Employee2CustomerHauptbetreuung = "Employee2CustomerHauptbetreuung";
private List<Vertretung> _vertretunglist;
@@ -24,6 +26,8 @@ namespace BeWo.Data.Entities
private List<AbsenceTime> _absenceTimelist;
private List<Arbeitszeit> _arbeitszeitliste;
private Dictionary<long, List<long>> _employee2CustomerHauptbetreuung;
public virtual List<Vertretung> Vertretunglist
@@ -90,6 +94,22 @@ namespace BeWo.Data.Entities
}
}
public virtual List<Arbeitszeit> Arbeitszeitliste
{
get
{
return this._arbeitszeitliste;
}
set
{
if (this.AreDifferent(this._arbeitszeitliste, value))
{
this._arbeitszeitliste = value;
}
}
}
public virtual Dictionary<long, List<long>> Employee2CustomerHauptbetreuung
{
get

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.Arbeitszeit,BeWo.Data" table="arbeitszeit">
<id name="Oid" column ="Oid" unsaved-value="null">
<generator class="identity" />
</id>
<version type="Int64" column="Version" name="Version" />
<property name="EmployeeOid" column="EmployeeOid" />
<property name="InsTs" />
<property name="InsUser" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property name="UdpUser" />
<property name="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" />
<property name="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" />
<property name="Notice" column="Notice" length="1024" />
<property name="GueltigVon" column="GueltigVon" />
<property name="GueltigBis" column="GueltigBis" />
<bag name="ArbeitszeitEintraege" table="ArbeitszeitEintrag" generic="true" cascade="all-delete-orphan">
<key column="ArbeitszeitOid" />
<one-to-many class="BeWo.Data.Entities.ArbeitszeitEintrag, BeWo.Data" />
</bag>
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="BeWo.Data.Entities.ArbeitszeitEintrag,BeWo.Data" table="arbeitszeiteintrag">
<id name="Oid" column ="Oid" unsaved-value="null">
<generator class="identity" />
</id>
<version type="Int64" column="Version" name="Version" />
<property name="ArbeitszeitOid" column="ArbeitszeitOid" />
<property name="InsTs" />
<property name="InsUser" />
<property column="Tid" type="BS.Shared.TableID, BS.Shared" name="_Tid" access="field" />
<property name="UdpUser" />
<property name="IsActive" type="BS.Shared.ActivationTypeId, BS.Shared" />
<property name="SystemEntryID" type="BS.Shared.SystemEntryID, BS.Shared" />
<property name="Notice" column="Notice" length="1024" />
<property name="Tag" column="Tag" />
<property name="UhrzeitVon" column="UhrzeitVon" />
<property name="UhrzeitBis" column="UhrzeitBis" />
</class>
</hibernate-mapping>

View File

@@ -72,5 +72,10 @@
<key column="EmployeeOid" />
<one-to-many class="BeWo.Data.Entities.Overtime, BeWo.Data" />
</bag>
<bag name="Arbeitszeit" table="Arbeitszeit" generic="true" cascade="all-delete-orphan" batch-size="250">
<key column="EmployeeOid" />
<one-to-many class="BeWo.Data.Entities.Arbeitszeit, BeWo.Data" />
</bag>
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,55 @@
CREATE TABLE `1234567890`.`arbeitszeit` (
`Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
`EmployeeOid` 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 '',
`GueltigVon` DATETIME NULL COMMENT '',
`GueltigBis` DATETIME NULL COMMENT '',
PRIMARY KEY (`Oid`) COMMENT '');
CREATE TABLE `1234567890`.`arbeitszeiteintrag` (
`Oid` BIGINT(19) NOT NULL AUTO_INCREMENT COMMENT '',
`ArbeitszeitOid` 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 '',
`Tag` DATETIME NULL COMMENT '',
`UhrzeitVon` DATETIME NULL COMMENT '',
`UhrzeitBis` DATETIME NULL COMMENT '',
PRIMARY KEY (`Oid`) COMMENT '');
ALTER TABLE `1234567890`.`arbeitszeiteintrag`
CHANGE COLUMN `Tag` `Tag` INT(10) NULL DEFAULT NULL COMMENT '' ;
ALTER TABLE `1234567890`.`arbeitszeiteintrag`
CHANGE COLUMN `UhrzeitVon` `UhrzeitVon` VARCHAR(256) NULL DEFAULT NULL COMMENT '' ,
CHANGE COLUMN `UhrzeitBis` `UhrzeitBis` VARCHAR(256) NULL DEFAULT NULL COMMENT '' ;

View File

@@ -10,7 +10,6 @@ using BS.Shared.Extensions;
using BS.Shared.Services;
using BS.Shared.DataContracts;
using BeWo.Service.DCEntityMapper;
using DevExpress.XtraPivotGrid.Data.Wrappers;
namespace BeWo.BetreuWoReports
{

View File

@@ -10,7 +10,6 @@ using BS.Shared.Extensions;
using BS.Shared.Services;
using BS.Shared.DataContracts;
using BeWo.Service.DCEntityMapper;
using DevExpress.XtraPivotGrid.Data.Wrappers;
namespace BeWo.BetreuWoReports.Kostenstellenauswertung3
{

View File

@@ -9,8 +9,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>HphBersenbrueckAtz</RootNamespace>
<AssemblyName>1106039294_Reports</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -30,12 +31,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v13.1, Version=13.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v13.1.Core, Version=13.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.v13.1, Version=13.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Xpo.v13.1, Version=13.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v13.1, Version=13.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v13.1, Version=13.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Printing.v13.2.Core, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Utils.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" />
<Reference Include="DevExpress.XtraReports.v13.2, Version=13.2.13.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
@@ -53,12 +53,6 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="QueryListReport.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="QueryListReport.Designer.cs">
<DependentUpon>QueryListReport.cs</DependentUpon>
</Compile>
<Compile Include="ServicesOverviewReport.cs">
<SubType>Component</SubType>
</Compile>
@@ -68,10 +62,6 @@
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\licenses.licx" />
<EmbeddedResource Include="QueryListReport.resx">
<DependentUpon>QueryListReport.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ServicesOverviewReport.resx">
<DependentUpon>ServicesOverviewReport.cs</DependentUpon>
</EmbeddedResource>
@@ -94,6 +84,9 @@
<Name>Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Service References\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.

File diff suppressed because it is too large Load Diff

View File

@@ -1,64 +0,0 @@
using System;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using DevExpress.XtraReports.UI;
using System.Data;
namespace BeWo.Report.DefaultReports
{
public partial class Bericht : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<QueryRO>
{
public Bericht()
{
InitializeComponent();
}
public void SetReportDataSource(QueryRO pRO)
{
InitTable(pRO);
this.bindingSource1.DataSource = pRO;
}
private void InitTable(QueryRO ro)
{
//xrTableRowHeader.Cells.Clear();
//xrTableRowDetail.Cells.Clear();
//int index = 1;
//foreach (DataColumn column in ro.DataTable.Columns)
//{
// Type type = column.DataType;
// XRTableCell headerCell = new XRTableCell();
// headerCell.Text = column.ColumnName;
// headerCell.WidthF = xrTableHeader.WidthF / ro.DataTable.Columns.Count;
// this.xrTableRowHeader.Cells.Add(headerCell);
// XRTableCell rowCell = new XRTableCell();
// rowCell.WidthF = xrTableHeader.WidthF / ro.DataTable.Columns.Count;
// if (type == typeof(DateTime))
// rowCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
// new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.Field" + index, "{0:dd/MM/yyyy}")});
// else
// rowCell.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
// new DevExpress.XtraReports.UI.XRBinding("Text", null, "Rows.Field" + index)});
// this.xrTableRowDetail.Cells.Add(rowCell);
// index++;
//}
//foreach (XRTableCell cell in xrTableRowHeader.Cells)
//{
// cell.WidthF = xrTableHeader.WidthF / ro.DataTable.Columns.Count;
//}
//foreach (XRTableCell cell in xrTableRowDetail.Cells)
//{
// cell.WidthF = xrTableHeader.WidthF / ro.DataTable.Columns.Count;
//}
}
}
}

View File

@@ -1,205 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="xrPictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
YII=
</value>
</data>
<metadata name="xpInstantFeedbackSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>154, 17</value>
</metadata>
</root>

View File

@@ -19,6 +19,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.EmployeeOid = pEntity.EmployeeOid;
pDataContract.CustomerOid = pEntity.CustomerOid;
pDataContract.KrankheitsMeldung = pEntity.KrankheitsMeldung;
return pDataContract;
@@ -36,8 +37,6 @@ namespace BeWo.Service.DCEntityMapper
pEntity.Notice = pDataContract.Notice;
pEntity.Oid = pDataContract.AbsenceTimeOid;
pEntity.EmployeeOid = pDataContract.EmployeeOid;
pEntity.CustomerOid = pDataContract.CustomerOid;
pEntity.KrankheitsMeldung = pDataContract.KrankheitsMeldung;
return pEntity;

View File

@@ -0,0 +1,53 @@
using System.IO;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class ArbeitszeitDC_Arbeitszeit : AbstractIDCEntityMapper<Arbeitszeit, ArbeitszeitDC>
{
public override ArbeitszeitDC MergeWithDC(Arbeitszeit pEntity, ArbeitszeitDC pDataContract)
{
pDataContract.ArbeitszeitOid = pEntity.Oid;
pDataContract.EmployeeOid = pEntity.EmployeeOid;
pDataContract.GueltigVon = pEntity.GueltigVon;
pDataContract.GueltigBis = pEntity.GueltigBis;
pDataContract.Notice = pEntity.Notice;
if (pEntity.ArbeitszeitEintraege != null)
{
pDataContract.Eintraege =
MapperFactory.ArbeitszeitEintragDC_ArbeitszeitEintrag.MapToNewDCs(pEntity.ArbeitszeitEintraege);
}
return pDataContract;
}
public override Arbeitszeit MergeWithEntity(ArbeitszeitDC pDataContract, Arbeitszeit pEntity)
{
pEntity.EmployeeOid = pDataContract.EmployeeOid;
pEntity.GueltigVon = pDataContract.GueltigVon;
pEntity.GueltigBis = pDataContract.GueltigBis;
pEntity.Notice = pDataContract.Notice;
pEntity.Oid = pDataContract.ArbeitszeitOid;
MapperFactory.ArbeitszeitEintragDC_ArbeitszeitEintrag.MergeWithEntitys(pDataContract.Eintraege, pEntity.ArbeitszeitEintraege);
return pEntity;
}
protected override bool AreDCAndEntityEqual(ArbeitszeitDC pDC, Arbeitszeit pEntity)
{
if (pDC.ArbeitszeitOid == null)
{
return false;
}
return pDC.ArbeitszeitOid == pEntity.Oid;
}
}
}

View File

@@ -0,0 +1,45 @@
using System.IO;
using BeWo.Data.Entities;
using BS.Shared.DataContracts;
namespace BeWo.Service.DCEntityMapper
{
public class ArbeitszeitEintragDC_ArbeitszeitEintrag : AbstractIDCEntityMapper<ArbeitszeitEintrag, ArbeitszeitEintragDC>
{
public override ArbeitszeitEintragDC MergeWithDC(ArbeitszeitEintrag pEntity, ArbeitszeitEintragDC pDataContract)
{
pDataContract.ArbeitszeitEintragOid = pEntity.Oid;
pDataContract.ArbeitszeitOid = pEntity.ArbeitszeitOid;
pDataContract.Tag = pEntity.Tag;
pDataContract.UhrzeitVon = pEntity.UhrzeitVon;
pDataContract.UhrzeitBis = pEntity.UhrzeitBis;
pDataContract.Notice = pEntity.Notice;
return pDataContract;
}
public override ArbeitszeitEintrag MergeWithEntity(ArbeitszeitEintragDC pDataContract, ArbeitszeitEintrag pEntity)
{
pEntity.ArbeitszeitOid = pDataContract.ArbeitszeitOid;
pEntity.Tag = pDataContract.Tag;
pEntity.UhrzeitVon = pDataContract.UhrzeitVon;
pEntity.UhrzeitBis = pDataContract.UhrzeitBis;
pEntity.Notice = pDataContract.Notice;
pEntity.Oid = pDataContract.ArbeitszeitEintragOid;
return pEntity;
}
protected override bool AreDCAndEntityEqual(ArbeitszeitEintragDC pDC, ArbeitszeitEintrag pEntity)
{
if (pDC.ArbeitszeitEintragOid == null)
{
return false;
}
return pDC.ArbeitszeitEintragOid == pEntity.Oid;
}
}
}

View File

@@ -67,6 +67,8 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.Contracts = MapperFactory.ContractDC_Contract.MapToNewDCs(pEntity.Contracts);
pDataContract.Arbeitszeiten = MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewDCs(pEntity.Arbeitszeit);
if (pDataContract.Contracts != null)
{
pDataContract.Contracts.Sort((c1, c2)
@@ -168,6 +170,8 @@ namespace BeWo.Service.DCEntityMapper
MapperFactory.ContractDC_Contract.MergeWithEntitys(pDataContract.Contracts, pEntity.Contracts);
MapperFactory.ArbeitszeitDC_Arbeitszeit.MergeWithEntitys(pDataContract.Arbeitszeiten, pEntity.Arbeitszeit);
return pEntity;
}

View File

@@ -47,9 +47,13 @@ namespace BeWo.Service.DCEntityMapper
private static VertretungDC_Vertretung _VertretungDC_Vertretung;
private static ArbeitszeitDC_Arbeitszeit _ArbeitszeitDC_Arbeitszeit;
private static ArbeitszeitEintragDC_ArbeitszeitEintrag _ArbeitszeitEintragDC_ArbeitszeitEintrag;
private static KriterienDC_Kriterien _KriterienDC_Kriterien;
private static VertretungsListeDC_VertretungsListe _VertretungsListeDC_VertretungsListe;
private static VertretungsListeDC_VertretungsListe _VertretungsListeDC_VertretungsListe;
private static PasswortVerlaufDC_PasswortVerlauf _PasswortVerlaufDC_PasswortVerlauf;
@@ -538,6 +542,21 @@ namespace BeWo.Service.DCEntityMapper
}
}
public static ArbeitszeitDC_Arbeitszeit ArbeitszeitDC_Arbeitszeit
{
get
{
return _ArbeitszeitDC_Arbeitszeit ?? (_ArbeitszeitDC_Arbeitszeit = new ArbeitszeitDC_Arbeitszeit());
}
}
public static ArbeitszeitEintragDC_ArbeitszeitEintrag ArbeitszeitEintragDC_ArbeitszeitEintrag
{
get
{
return _ArbeitszeitEintragDC_ArbeitszeitEintrag ?? (_ArbeitszeitEintragDC_ArbeitszeitEintrag = new ArbeitszeitEintragDC_ArbeitszeitEintrag());
}
}
public static KriterienDC_Kriterien KriterienDC_Kriterien
{
get

View File

@@ -13,6 +13,7 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.Employeesliste = MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(pEntity.Employeelist);
pDataContract.Vertretungsliste = MapperFactory.VertretungDC_Vertretung.MapToNewDCs(pEntity.Vertretunglist);
pDataContract.AbsenceTimeliste = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewDCs(pEntity.AbsenceTimelist);
pDataContract.Arbeitszeitliste = MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewDCs(pEntity.Arbeitszeitliste);
pDataContract.Employee2CustomerHauptbetreuung = pEntity.Employee2CustomerHauptbetreuung;
@@ -25,6 +26,7 @@ namespace BeWo.Service.DCEntityMapper
pEntity.Employeelist = MapperFactory.CompactEmployeeDC_Employee.MapToNewEntities(pDataContract.Employeesliste);
pEntity.Vertretunglist = MapperFactory.VertretungDC_Vertretung.MapToNewEntities(pDataContract.Vertretungsliste);
pEntity.AbsenceTimelist = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntities(pDataContract.AbsenceTimeliste);
pEntity.Arbeitszeitliste = MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewEntities(pDataContract.Arbeitszeitliste);
pEntity.Employee2CustomerHauptbetreuung = pDataContract.Employee2CustomerHauptbetreuung;

View File

@@ -214,6 +214,8 @@
<Compile Include="DCEntityMapper\EmployeeAPPCodeDC_EmployeeAPPCode.cs" />
<Compile Include="DCEntityMapper\ChatMessageDC_ChatMessage.cs" />
<Compile Include="DCEntityMapper\ChatMediaMessageDC_ChatMediaMessage.cs" />
<Compile Include="DCEntityMapper\ArbeitszeitDC_Arbeitszeit.cs" />
<Compile Include="DCEntityMapper\ArbeitszeitEintragDC_ArbeitszeitEintrag.cs" />
<Compile Include="DCEntityMapper\VertretungsListeDC_VertretungsListe.cs" />
<Compile Include="DCEntityMapper\KriterienDC_Kriterien.cs" />
<Compile Include="DCEntityMapper\PasswortVerlaufDC_PasswortVerlauf.cs" />

View File

@@ -330,5 +330,13 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
CompactEmployeeDC GetActiveCompactEmployeeWithOid(long employeeOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void InsertNewArbeitsZeit(ArbeitszeitDC arbeitszeit, ArbeitszeitEintragDC arbeitszeitEintrag);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
ArbeitszeitDC UpdateArbeitszeit(ArbeitszeitDC pArbeitszeit);
}
}

View File

@@ -582,21 +582,29 @@ namespace BeWo.Service.ServiceContracts
[OperationContract]
List<ServiceRecordDC> GetCustomerServiceRecordsCompactWithStartEndDate(long pCustomerOid, long costbearer2SupportConceptOid, DateTime start, DateTime ende);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<VertretungDC> GetAllVertretungen();
//[FaultContract(typeof(BeWoFault))]
//[OperationContract]
//List<VertretungDC> GetAllVertretungen();
//[FaultContract(typeof(BeWoFault))]
//[OperationContract]
//void InsertNewMitarbeiterVertretung(VertretungDC vertretungM, long? absenceReasonOid, DateTime krankheitsMeldung);
//[FaultContract(typeof(BeWoFault))]
//[OperationContract]
//void InsertNewKlientenVertretung(VertretungDC vertretungK, long? absenceReasonOid, DateTime krankheitsMeldung);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void InsertNewMitarbeiterVertretung(VertretungDC vertretungM, long? absenceReasonOid, DateTime krankheitsMeldung);
void InsertNewEmployeeAbsenceTime(long employeeOid, AbsenceTimeDC at);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void InsertNewKlientenVertretung(VertretungDC vertretungK, long? absenceReasonOid, DateTime krankheitsMeldung);
void InsertNewCustomerAbsenceTime(long customerOid, AbsenceTimeDC at);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void DeleteVertretung(VertretungDC vert);
void DeleteVertretung(long vert);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
@@ -605,5 +613,26 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
VertretungsListeDC VertretungsListe(DateTime absenceTime);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void CreateVertretung(VertretungDC vertretung);
//[FaultContract(typeof(BeWoFault))]
//[OperationContract]
//void DeletAbsenceTime(long absenceoid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void DeactivateAbsenceTime(Dictionary<long, long> pOid2Version);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void UpdateVertretungAndAbsenceTime(VertretungDC vert, AbsenceTimeDC abs);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
void UpdateAbsenceTime(AbsenceTimeDC abs);
}
}

View File

@@ -1240,6 +1240,44 @@ namespace BeWo.Service.ServiceImplementations
}
}
public void InsertNewArbeitsZeit(ArbeitszeitDC arbeitszeit, ArbeitszeitEintragDC arbeitszeitEintrag)
{
try
{
var x = MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewEntity(arbeitszeit);
DAOFactory.GenericDAO.Insert(x);
arbeitszeitEintrag.ArbeitszeitOid = x.Oid;
var y = MapperFactory.ArbeitszeitEintragDC_ArbeitszeitEintrag.MapToNewEntity(arbeitszeitEintrag);
DAOFactory.GenericDAO.Insert(y);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public ArbeitszeitDC UpdateArbeitszeit(ArbeitszeitDC pArbeitszeit)
{
try
{
var lOriginal = DAOFactory.GenericDAO.LoadByID<Arbeitszeit>(pArbeitszeit.ArbeitszeitOid.Value);
MapperFactory.ArbeitszeitDC_Arbeitszeit.MergeWithEntity(pArbeitszeit, lOriginal);
DAOFactory.GenericDAO.Update(lOriginal);
return MapperFactory.ArbeitszeitDC_Arbeitszeit.MapToNewDC(lOriginal);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
}
}

View File

@@ -3490,14 +3490,28 @@ namespace BeWo.Service.ServiceImplementations
}
}
//all new Audi ##############################################
public List<VertretungDC>GetAllVertretungen()
//####################### Schulbegleitender Dienst ##############################################
//public void DeletAbsenceTime(long absenceoid)
//{
// try
// {
// var x = DAOFactory.GenericDAO.GetByID<AbsenceTime>(absenceoid);
// DAOFactory.GenericDAO.Delete(x);
// }
// catch (Exception e)
// {
// throw Utils.CreateBeWoFaultException(e);
// }
//}
public void DeactivateAbsenceTime( Dictionary<long,long> pOid2Version)
{
try
{
var x = DAOFactory.GenericDAO.GetAllActive<Vertretung>();
return MapperFactory.VertretungDC_Vertretung.MapToNewDCs(x);
ServiceLogic.SetActivationType<AbsenceTime>(pOid2Version, ActivationTypeId.Deleted);
}
catch (Exception e)
{
@@ -3505,79 +3519,123 @@ namespace BeWo.Service.ServiceImplementations
}
}
public void InsertNewMitarbeiterVertretung(VertretungDC vertretungM, long? absenceReasonOid, DateTime krankheitsMeldung)
//public List<VertretungDC>GetAllVertretungen()
//{
// try
// {
// var x = DAOFactory.GenericDAO.GetAllActive<Vertretung>();
// return MapperFactory.VertretungDC_Vertretung.MapToNewDCs(x);
// }
// catch (Exception e)
// {
// throw Utils.CreateBeWoFaultException(e);
// }
//}
public void InsertNewEmployeeAbsenceTime(long employeeOid, AbsenceTimeDC at)
{
try
{
var emp = DAOFactory.GenericDAO.GetByID<Employee>(employeeOid);
emp.AbsenceTimes.Add(MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(at));
DAOFactory.GenericDAO.Update(emp);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void InsertNewCustomerAbsenceTime(long customerOid, AbsenceTimeDC at)
{
try
{
//################# AbsenceTime ###########################
AbsenceTimeDC abstm = new AbsenceTimeDC();
var cust = DAOFactory.GenericDAO.GetByID<Customer>(customerOid);
cust.AbsenceTimes.Add(MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(at));
abstm.Start = vertretungM.VertretungsZeitraumVon;
abstm.End = vertretungM.VertretungsZeitraumBis;
abstm.EmployeeOid = vertretungM.EmployeeOid;
abstm.KrankheitsMeldung = krankheitsMeldung;
var x = DAOFactory.GenericDAO.GetByID<AbsenceReason>(absenceReasonOid.Value);
DAOFactory.GenericDAO.Update(cust);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
abstm.Reason = MapperFactory.AbsenceReasonDC_AbsenceReason.MapToNewDC(x);
//public void InsertNewMitarbeiterVertretung(VertretungDC vertretungM, long? absenceReasonOid, DateTime krankheitsMeldung)
//{
// try
// {
// //################# AbsenceTime ###########################
// AbsenceTimeDC abstm = new AbsenceTimeDC();
// abstm.Start = vertretungM.VertretungsZeitraumVon;
// abstm.End = vertretungM.VertretungsZeitraumBis;
// abstm.EmployeeOid = vertretungM.EmployeeOid.Value;
// abstm.KrankheitsMeldung = krankheitsMeldung;
// var x = DAOFactory.GenericDAO.GetByID<AbsenceReason>(absenceReasonOid.Value);
// abstm.Reason = MapperFactory.AbsenceReasonDC_AbsenceReason.MapToNewDC(x);
// var lAbsenceTime = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(abstm);
// DAOFactory.GenericDAO.Insert(lAbsenceTime);
// vertretungM.AbsenceTimeOid = lAbsenceTime.Oid.Value;
// //#########################################################
// var lVertretung = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretungM);
// DAOFactory.GenericDAO.Insert(lVertretung);
// }
// catch (Exception e)
// {
// throw Utils.CreateBeWoFaultException(e);
// }
//}
//public void InsertNewKlientenVertretung(VertretungDC vertretungK, long? absenceReasonOid,DateTime krankheitsMeldung)
//{
// try
// {
// //################# AbsenceTime ###########################
// AbsenceTimeDC abstm = new AbsenceTimeDC();
// abstm.Start = vertretungK.VertretungsZeitraumVon;
// abstm.End = vertretungK.VertretungsZeitraumBis;
// abstm.CustomerOid = vertretungK.CustomerOid.Value;
// abstm.KrankheitsMeldung = krankheitsMeldung;
// var x = DAOFactory.GenericDAO.GetByID<AbsenceReason>(absenceReasonOid.Value);
// abstm.Reason = MapperFactory.AbsenceReasonDC_AbsenceReason.MapToNewDC(x);
// var lAbsenceTime = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(abstm);
// DAOFactory.GenericDAO.Insert(lAbsenceTime);
var lAbsenceTime = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(abstm);
DAOFactory.GenericDAO.Insert(lAbsenceTime);
vertretungM.AbsenceTimeOid = lAbsenceTime.Oid;
//#########################################################
var lVertretung = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretungM);
DAOFactory.GenericDAO.Insert(lVertretung);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
public void InsertNewKlientenVertretung(VertretungDC vertretungK, long? absenceReasonOid,DateTime krankheitsMeldung)
{
try
{
//################# AbsenceTime ###########################
AbsenceTimeDC abstm = new AbsenceTimeDC();
abstm.Start = vertretungK.VertretungsZeitraumVon;
abstm.End = vertretungK.VertretungsZeitraumBis;
abstm.CustomerOid = vertretungK.CustomerOid;
abstm.KrankheitsMeldung = krankheitsMeldung;
var x = DAOFactory.GenericDAO.GetByID<AbsenceReason>(absenceReasonOid.Value);
abstm.Reason = MapperFactory.AbsenceReasonDC_AbsenceReason.MapToNewDC(x);
var lAbsenceTime = MapperFactory.AbsenceTimeDC_AbsenceTime.MapToNewEntity(abstm);
DAOFactory.GenericDAO.Insert(lAbsenceTime);
vertretungK.AbsenceTimeOid = lAbsenceTime.Oid;
//#########################################################
// vertretungK.AbsenceTimeOid = lAbsenceTime.Oid.Value;
// //#########################################################
var lVertretung = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretungK);
DAOFactory.GenericDAO.Insert(lVertretung);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
// var lVertretung = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretungK);
// DAOFactory.GenericDAO.Insert(lVertretung);
// }
// catch (Exception e)
// {
// throw Utils.CreateBeWoFaultException(e);
// }
//}
public void DeleteVertretung(VertretungDC vert)
public void DeleteVertretung(long vert)
{
try
{
var origVertretung = DAOFactory.GenericDAO.LoadByID<Vertretung>(vert.VertretungOid.Value);
var origVertretung = DAOFactory.GenericDAO.LoadByID<Vertretung>(vert);
DAOFactory.GenericDAO.Delete(origVertretung);
}
@@ -3604,28 +3662,41 @@ namespace BeWo.Service.ServiceImplementations
}
}
//Muss noch generiert werden
public void CreateVertretung(long mitarbeiterOid, long klientenOid,long vertretenderMitarbeiter,string notiz, DateTime vertretungszeitraumVon, DateTime vertretungszeitraumBis)
public void UpdateVertretungAndAbsenceTime(VertretungDC vert, AbsenceTimeDC abs)
{
try
{
//update auch die dazugehörige AbsenceTime
var origVertretung = DAOFactory.GenericDAO.LoadByID<Vertretung>(vert.VertretungOid.Value);
VertretungDC ahh = new VertretungDC()
{
EmployeeOid = mitarbeiterOid,
CustomerOid = klientenOid,
VertretenderMitarbeiterOid = vertretenderMitarbeiter,
Notice = notiz,
VertretungsZeitraumVon = vertretungszeitraumVon,
VertretungsZeitraumBis = vertretungszeitraumBis,
};
MapperFactory.VertretungDC_Vertretung.MergeWithEntity(vert, origVertretung);
var x = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(ahh);
DAOFactory.GenericDAO.Update(origVertretung);
//Upadate AbsenceTime
var origAbsenceTime = DAOFactory.GenericDAO.LoadByID<AbsenceTime>(abs.AbsenceTimeOid.Value);
MapperFactory.AbsenceTimeDC_AbsenceTime.MergeWithEntity(abs, origAbsenceTime);
DAOFactory.GenericDAO.Update(origAbsenceTime);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
//verbesserungswürdig
public void CreateVertretung(VertretungDC vertretung)
{
try
{
var x = MapperFactory.VertretungDC_Vertretung.MapToNewEntity(vertretung);
DAOFactory.GenericDAO.Insert(x);
}
catch (Exception e)
{
@@ -3633,6 +3704,22 @@ namespace BeWo.Service.ServiceImplementations
}
}
public void UpdateAbsenceTime(AbsenceTimeDC abs)
{
try
{
var x = DAOFactory.GenericDAO.LoadByID<AbsenceTime>(abs.AbsenceTimeOid.Value);
MapperFactory.AbsenceTimeDC_AbsenceTime.MergeWithEntity(abs, x);
DAOFactory.GenericDAO.Update(x);
}
catch (Exception e)
{
throw Utils.CreateBeWoFaultException(e);
}
}
//Fertig
public VertretungsListeDC VertretungsListe(DateTime absenceTime)
{
@@ -3680,6 +3767,7 @@ namespace BeWo.Service.ServiceImplementations
}
//#################################################################
#endregion
#endregion

View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace BS.Shared.DataContracts
{
[DataContract]
public class ArbeitszeitDC : IDataContract
{
[DataMember]
public long? ArbeitszeitOid { get; set; }
[DataMember]
public long? EmployeeOid { get; set; }
[DataMember]
public DateTime? GueltigVon { get; set; }
[DataMember]
public DateTime? GueltigBis { get; set; }
[DataMember]
public string Notice { get; set; }
[DataMember]
public List<ArbeitszeitEintragDC> Eintraege { get; set; }
}
}

View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
namespace BS.Shared.DataContracts
{
[DataContract]
public class ArbeitszeitEintragDC : IDataContract
{
[DataMember]
public long? ArbeitszeitEintragOid { get; set; }
[DataMember]
public long? ArbeitszeitOid { get; set; }
[DataMember]
public AppointmentDayOfWeek Tag { get; set; }
[DataMember]
public string UhrzeitVon { get; set; }
[DataMember]
public string UhrzeitBis { get; set; }
[DataMember]
public string Notice { get; set; }
}
}

View File

@@ -18,6 +18,9 @@ namespace BS.Shared.DataContracts
[DataMember]
public List<ContractDC> Contracts { get; set; }
[DataMember]
public List<ArbeitszeitDC> Arbeitszeiten { get; set; }
//[DataMember]
//public int CancellationPeriod { get; set; }

View File

@@ -23,6 +23,9 @@ namespace BS.Shared.DataContracts
[DataMember]
public List<AbsenceTimeDC> AbsenceTimeliste { get; set; }
[DataMember]
public List<ArbeitszeitDC> Arbeitszeitliste { get; set; }
[DataMember]
public Dictionary<long, List<long>> Employee2CustomerHauptbetreuung { get; set; }

View File

@@ -170,6 +170,8 @@
<Compile Include="DataContracts\EmployeeAPPCodeDC.cs" />
<Compile Include="DataContracts\ChatMessageDC.cs" />
<Compile Include="DataContracts\ChatMediaMessageDC.cs" />
<Compile Include="DataContracts\ArbeitszeitDC.cs" />
<Compile Include="DataContracts\ArbeitszeitEintragDC.cs" />
<Compile Include="DataContracts\VertretungsListeDC.cs" />
<Compile Include="DataContracts\KriterienDC.cs" />
<Compile Include="DataContracts\VertretungDC.cs" />