505 lines
37 KiB
XML
505 lines
37 KiB
XML
<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:controls="clr-namespace:BeWo.View.Controls"
|
|
xmlns:controls1="clr-namespace:BeWo.Controls;assembly=BeWo.Controls"
|
|
xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared"
|
|
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase"
|
|
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
|
|
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
|
|
xmlns:localView="clr-namespace:BeWo.View"
|
|
xmlns:localViewModel="clr-namespace:BeWo.ViewModel"
|
|
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
|
|
xmlns:search="clr-namespace:BeWo.View.Search"
|
|
xmlns:shared="clr-namespace:BS.Shared;assembly=BS.Shared"
|
|
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
|
xmlns:validation="clr-namespace:BeWo.Validation"
|
|
Width="Auto"
|
|
Height="Auto"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
Focusable="True">
|
|
<localView:BeWoView.Resources>
|
|
|
|
<ObjectDataProvider
|
|
x:Key="AppointmentDayOfWeeks"
|
|
MethodName="GetValues"
|
|
ObjectType="{x:Type sys:Enum}">
|
|
<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"
|
|
Header="Arbeitszeiten"
|
|
Style="{StaticResource ObjectEditGroupBox}">
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<StackPanel Grid.RowSpan="2" Orientation="Vertical">
|
|
<Button
|
|
Margin="3"
|
|
HorizontalAlignment="Left"
|
|
Click="ButtonOpenAndAddArbeitszeitClick"
|
|
Content="Neue Arbeitszeitplanung hinzufügen"
|
|
IsEnabled="True" />
|
|
|
|
|
|
<TabControl
|
|
x:Name="tabcontrol_Arbeitszeit"
|
|
Margin="5"
|
|
ItemsSource="{Binding Arbeitszeiten.VMList}">
|
|
|
|
<TabControl.ItemTemplate>
|
|
|
|
<DataTemplate>
|
|
<StackPanel Orientation="Horizontal">
|
|
<Label Content="{Binding ArbeitszeitString}" />
|
|
|
|
|
|
<Button
|
|
Name="btn_deleteContract"
|
|
Height="20"
|
|
Margin="0"
|
|
VerticalAlignment="Center"
|
|
Click="btn_deleteArbeitszeit_Click"
|
|
Style="{DynamicResource CloseButtonStyle}"
|
|
ToolTip="Arbeitszeitplanung löschen"
|
|
Visibility="{Binding IsSelected, RelativeSource={RelativeSource AncestorType={x:Type TabItem}}, Converter={StaticResource BoolVisibilityConverter}}" />
|
|
|
|
</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
|
|
Name="Details"
|
|
Grid.Row="1"
|
|
Margin="0,1"
|
|
VerticalAlignment="Bottom"
|
|
Text="{Binding Path=DetailText}"
|
|
TextElement.FontFamily="Microsoft Sans Serif"
|
|
TextElement.FontSize="16"
|
|
TextElement.Foreground="{StaticResource TabItemHotTextBrush}" />
|
|
|
|
<Grid
|
|
Grid.Row="0"
|
|
Grid.ColumnSpan="2"
|
|
Margin="0">
|
|
<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.Row="0"
|
|
Grid.Column="0"
|
|
Margin="0,3,3,3"
|
|
VerticalAlignment="Center">
|
|
Gültig von
|
|
</Label>
|
|
<Label
|
|
Grid.Row="0"
|
|
Grid.Column="2"
|
|
Margin="3"
|
|
VerticalAlignment="Center">
|
|
Gültig bis
|
|
</Label>
|
|
|
|
<dxe:DateEdit
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Width="125"
|
|
Height="23"
|
|
Margin="3"
|
|
AllowNullInput="True"
|
|
EditValue="{Binding Path=GueltigVon, UpdateSourceTrigger=PropertyChanged}"
|
|
MaskType="DateTimeAdvancingCaret" />
|
|
<dxe:DateEdit
|
|
Grid.Row="0"
|
|
Grid.Column="3"
|
|
Width="125"
|
|
Height="23"
|
|
Margin="3"
|
|
AllowNullInput="True"
|
|
EditValue="{Binding Path=GueltigBis, UpdateSourceTrigger=PropertyChanged}"
|
|
MaskType="DateTimeAdvancingCaret" />
|
|
|
|
|
|
<StackPanel
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="5"
|
|
Orientation="Horizontal">
|
|
<Button
|
|
Height="23"
|
|
Margin="0,10,0,0"
|
|
HorizontalAlignment="Left"
|
|
Click="AddArbeitszeitToView_Click"
|
|
Content="{markup:Translate Neuen Arbeitstag hinzufügen}" />
|
|
<Button
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Grid.ColumnSpan="2"
|
|
Height="23"
|
|
Margin="10,10,0,0"
|
|
HorizontalAlignment="Left"
|
|
Click="CopyArbeitszeit_Click"
|
|
Content="{markup:Translate Gesamte Arbeitszeiten kopieren}" />
|
|
|
|
</StackPanel>
|
|
|
|
<controls:PopupNonTopmost
|
|
Name="popup_newArbeitszeitEintrag"
|
|
Placement="MousePoint"
|
|
StaysOpen="True">
|
|
<Border
|
|
Padding="3"
|
|
Background="White"
|
|
BorderBrush="Gray"
|
|
BorderThickness="1">
|
|
<GroupBox
|
|
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" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
|
|
<Label
|
|
Grid.Row="1"
|
|
Grid.Column="0"
|
|
Margin="3"
|
|
VerticalAlignment="Center"
|
|
Content="{markup:Translate Klient}" />
|
|
<Label
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Margin="3"
|
|
VerticalAlignment="Center">
|
|
Tag
|
|
</Label>
|
|
<Label
|
|
Grid.Row="2"
|
|
Grid.Column="0"
|
|
Margin="3"
|
|
VerticalAlignment="Center">
|
|
Uhrzeit von
|
|
</Label>
|
|
<Label
|
|
Grid.Row="3"
|
|
Grid.Column="0"
|
|
Margin="3"
|
|
VerticalAlignment="Center">
|
|
Uhrzeit bis
|
|
</Label>
|
|
<Label
|
|
Grid.Row="4"
|
|
Grid.Column="0"
|
|
Margin="3"
|
|
VerticalAlignment="Top">
|
|
Bemerkungen
|
|
</Label>
|
|
|
|
|
|
<controls1:PopUpEdit
|
|
x:Name="popupedit_KlientSearch"
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Height="23"
|
|
Margin="3"
|
|
Cursor="Arrow"
|
|
DeleteButtonVisibility="Collapsed"
|
|
IsReadOnly="True"
|
|
PopUpClick="Popupedit_KlientVertretungSearch_OnPopUpClick" />
|
|
|
|
|
|
<dxe:ComboBoxEdit
|
|
Name="Tag"
|
|
Grid.Row="0"
|
|
Grid.Column="1"
|
|
Height="23"
|
|
Margin="3"
|
|
VerticalContentAlignment="Center"
|
|
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.Tag,
|
|
UpdateSourceTrigger=PropertyChanged}"
|
|
IsTextEditable="False"
|
|
ItemsSource="{Binding Source={StaticResource AppointmentDayOfWeeks}}" />
|
|
|
|
<dxe:TextEdit
|
|
Name="UhrzeitVon"
|
|
Grid.Row="2"
|
|
Grid.Column="1"
|
|
Height="23"
|
|
Margin="3,3,3,3"
|
|
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.UhrzeitVon,
|
|
UpdateSourceTrigger=PropertyChanged}"
|
|
InvalidValueBehavior="AllowLeaveEditor"
|
|
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
|
|
MaskShowPlaceHolders="True"
|
|
MaskType="RegEx"
|
|
MaskUseAsDisplayFormat="True"
|
|
ShowError="False" />
|
|
|
|
<dxe:TextEdit
|
|
Name="UhrzeitBis"
|
|
Grid.Row="3"
|
|
Grid.Column="1"
|
|
Height="23"
|
|
Margin="3,3,3,3"
|
|
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.UhrzeitBis,
|
|
UpdateSourceTrigger=PropertyChanged}"
|
|
InvalidValueBehavior="AllowLeaveEditor"
|
|
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
|
|
MaskShowPlaceHolders="True"
|
|
MaskType="RegEx"
|
|
MaskUseAsDisplayFormat="True"
|
|
ShowError="False" />
|
|
|
|
<dxe:TextEdit
|
|
Name="Notiz"
|
|
Grid.Row="4"
|
|
Grid.RowSpan="2"
|
|
Grid.Column="1"
|
|
Width="250"
|
|
Height="125"
|
|
Margin="3,3,3,3"
|
|
VerticalContentAlignment="Top"
|
|
AcceptsReturn="True"
|
|
EditValue="{validation:ValidationBinding Path=ArbeitszeitEintraege.NewVM.Notice,
|
|
UpdateSourceTrigger=PropertyChanged}"
|
|
TextWrapping="Wrap"
|
|
VerticalScrollBarVisibility="Auto" />
|
|
|
|
|
|
<StackPanel
|
|
Grid.Row="6"
|
|
Grid.Column="0"
|
|
Grid.ColumnSpan="2"
|
|
HorizontalAlignment="Right"
|
|
Orientation="Horizontal">
|
|
<Button
|
|
Height="25"
|
|
Margin="3"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
Click="PopupNewArbeitszeit_Click"
|
|
Content="Hinzufügen"
|
|
FontWeight="Normal" />
|
|
<Button
|
|
Height="25"
|
|
Margin="3"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
Click="PopupArbeitszeitClose_Click"
|
|
Content="Abbrechen" />
|
|
</StackPanel>
|
|
|
|
</Grid>
|
|
</GroupBox>
|
|
</Border>
|
|
</controls:PopupNonTopmost>
|
|
|
|
</Grid>
|
|
</Grid>
|
|
</GroupBox.Header>
|
|
|
|
<dxg:GridControl
|
|
Name="grid_Arbeitszeiten"
|
|
MaxWidth="{Binding ElementName=BlubbTest, Path=ActualWidth}"
|
|
CustomColumnSort="GridControl_OnCustomColumnSort"
|
|
DataSource="{Binding Path=ArbeitszeitEintraege.VMList, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
|
|
Tag="{Binding}">
|
|
<dxg:GridControl.Columns>
|
|
|
|
<dxg:GridColumn
|
|
Width="25"
|
|
FieldName="x"
|
|
FixedWidth="True"
|
|
Header="">
|
|
<dxg:GridColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<Button
|
|
Width="18"
|
|
Height="18"
|
|
VerticalAlignment="Center"
|
|
Click="RemoveArbeitszeit_OnClick"
|
|
Content="r"
|
|
FontFamily="Webdings" />
|
|
</DataTemplate>
|
|
</dxg:GridColumn.CellTemplate>
|
|
</dxg:GridColumn>
|
|
|
|
<dxg:GridColumn
|
|
Width="100"
|
|
FieldName="Tag"
|
|
FixedWidth="True"
|
|
Header="Tag"
|
|
SortMode="Custom"
|
|
SortOrder="Ascending">
|
|
<dxg:GridColumn.EditSettings>
|
|
<dxe:ComboBoxEditSettings ItemsSource="{Binding Source={StaticResource AppointmentDayOfWeeks}}" />
|
|
</dxg:GridColumn.EditSettings>
|
|
</dxg:GridColumn>
|
|
|
|
<dxg:GridColumn
|
|
Width="100"
|
|
FieldName="UhrzeitVon"
|
|
FixedWidth="True"
|
|
Header="Uhrzeit von">
|
|
<dxg:GridColumn.EditSettings>
|
|
<dxe:TextEditSettings
|
|
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
|
|
MaskShowPlaceHolders="True"
|
|
MaskType="RegEx"
|
|
MaskUseAsDisplayFormat="True" />
|
|
</dxg:GridColumn.EditSettings>
|
|
</dxg:GridColumn>
|
|
|
|
<dxg:GridColumn
|
|
Width="100"
|
|
FieldName="UhrzeitBis"
|
|
FixedWidth="True"
|
|
Header="Uhrzeit bis">
|
|
<dxg:GridColumn.EditSettings>
|
|
<dxe:TextEditSettings
|
|
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
|
|
MaskShowPlaceHolders="True"
|
|
MaskType="RegEx"
|
|
MaskUseAsDisplayFormat="True" />
|
|
</dxg:GridColumn.EditSettings>
|
|
</dxg:GridColumn>
|
|
|
|
<dxg:GridColumn
|
|
Width="200"
|
|
FieldName="Klient"
|
|
FixedWidth="True"
|
|
Header="{markup:Translate Klient}"
|
|
ReadOnly="True">
|
|
<!--<dxg:GridColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<controls1:PopUpEdit Cursor="Arrow"
|
|
IsReadOnly="True"
|
|
x:Name="popupedit_KlientSearchAnzeige" Margin="3" Height="23"
|
|
DeleteButtonVisibility="Collapsed"
|
|
PopUpClick="Popupedit_KlientVertretungSearchAnzeige_OnPopUpClick" />
|
|
</DataTemplate>
|
|
</dxg:GridColumn.CellTemplate>-->
|
|
</dxg:GridColumn>
|
|
|
|
<dxg:GridColumn
|
|
Width="300"
|
|
FieldName="Notice"
|
|
FixedWidth="True"
|
|
Header="Bemerkungen" />
|
|
|
|
<dxg:GridColumn
|
|
Width="150"
|
|
AllowEditing="False"
|
|
AllowSorting="False"
|
|
FieldName="Infos"
|
|
Header="" />
|
|
</dxg:GridControl.Columns>
|
|
<dxg:GridControl.View>
|
|
<dxg:TableView
|
|
Margin="2,2,2,2"
|
|
HorizontalContentAlignment="Left"
|
|
AutoWidth="True"
|
|
NavigationStyle="Cell"
|
|
ShowGroupPanel="False"
|
|
ShowGroupedColumns="False"
|
|
ShowTotalSummary="False" />
|
|
</dxg:GridControl.View>
|
|
</dxg:GridControl>
|
|
|
|
</GroupBox>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</DataTemplate>
|
|
</TabControl.ContentTemplate>
|
|
</TabControl>
|
|
</StackPanel>
|
|
</Grid>
|
|
</GroupBox>
|
|
</Grid>
|
|
<Popup
|
|
x:Name="popup_KlientVertretung"
|
|
Width="370"
|
|
Height="250"
|
|
Margin="10"
|
|
Closed="popup_Closed"
|
|
Opened="popup_Opened"
|
|
Placement="MousePoint"
|
|
StaysOpen="False">
|
|
<search:CustomerSearchView x:Name="KlientVertretungsearchview" />
|
|
</Popup>
|
|
</Grid>
|
|
</localView:BeWoView> |