Files
BeWoPlaner/BeWo/View/EmployeeArbeitszeitView.xaml

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>