Files
BeWoPlaner/BeWo/SchulbegleitenderDienst/VertretungsSearchView.xaml
2025-04-08 10:22:22 +02:00

421 lines
19 KiB
XML

<Window
x:Class="BeWo.SchulbegleitenderDienst.VertretungsSearchView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="Vertretung auswählen"
d:DataContext="{d:DesignData VertretungsSearchView}"
AllowsTransparency="True"
Background="Transparent"
ResizeMode="CanResizeWithGrip"
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterScreen"
WindowStyle="None"
mc:Ignorable="d">
<Window.Resources>
<dxmvvm:NumericToVisibilityConverter x:Key="NumericToVisibilityConverter" Inverse="True" />
<ControlTemplate x:Key="{dxgt:TableViewThemeKey ResourceKey=DataPresenterTemplate, ThemeName=Office2010Black}" TargetType="{x:Type dxg:DataPresenter}">
<Border Background="White">
<Grid>
<ContentPresenter />
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
Opacity="1"
Text="Es wurden keine Datensätze gefunden"
Visibility="{Binding VisibleRowCount, Converter={StaticResource NumericToVisibilityConverter}, RelativeSource={RelativeSource AncestorType=dxg:GridControl}}" />
</Grid>
</Border>
</ControlTemplate>
</Window.Resources>
<GroupBox
x:Name="rootGroupBox"
Header="Vertretung auswählen"
MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown"
Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}">
<Grid>
<Grid x:Name="GridMain" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid
Grid.Row="0"
Margin="3,3,3,0"
HorizontalAlignment="Stretch">
<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="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label
Grid.Row="0"
Grid.Column="0"
Margin="3,2,3,0"
Content="{markup:Translate Klient/in:}"
FontWeight="Bold" />
<Label
x:Name="lblCustomerName"
Grid.Row="1"
Grid.RowSpan="2"
Grid.Column="0"
Margin="3,0,3,2"
Content="Max Mustermann" />
<Label
Grid.Row="0"
Grid.Column="1"
Margin="15,2,2,0"
Content="Schule:"
FontWeight="Bold" />
<Label
x:Name="lblSchoolName"
Grid.Row="1"
Grid.RowSpan="2"
Grid.Column="1"
Margin="15,0,3,2"
Content="Max Mustermann" />
<Label
Grid.Row="0"
Grid.Column="2"
Margin="15,2,2,0"
Content="Betreuungszeiten:"
FontWeight="Bold" />
<Label
x:Name="lblBetreuungszeiten"
Grid.Row="1"
Grid.RowSpan="2"
Grid.Column="2"
Margin="15,0,3,2"
Content="Max Mustermann" />
<Label
Grid.Row="0"
Grid.Column="3"
Margin="15,2,3,0"
Content="{markup:Translate Klient Wunschkriterien}"
FontWeight="Bold" />
<dxg:LookUpEdit
x:Name="TokenBoxWunschAnzeige"
Grid.Row="1"
Grid.RowSpan="2"
Grid.Column="3"
Width="150"
MinHeight="50"
Margin="15,0,3,2"
IsPopupAutoWidth="False"
IsReadOnly="True"
PopupHeight="500"
PopupMinHeight="100"
PopupMinWidth="100"
PopupWidth="750"
TextWrapping="Wrap"
ValidateOnEnterKeyPressed="True"
ValidateOnTextInput="True">
<dxg:LookUpEdit.StyleSettings>
<dxg:TokenLookUpEditStyleSettings EnableTokenWrapping="True" />
</dxg:LookUpEdit.StyleSettings>
</dxg:LookUpEdit>
<Label
Grid.Row="0"
Grid.Column="4"
Margin="15,2,2,0"
Content="{markup:Translate Klient Ausschlusskriterien}"
FontWeight="Bold" />
<dxg:LookUpEdit
x:Name="TokenBoxAusschlussAnzeige"
Grid.Row="1"
Grid.RowSpan="2"
Grid.Column="4"
Width="150"
MinHeight="50"
Margin="15,0,2,3"
IsPopupAutoWidth="False"
IsReadOnly="True"
PopupHeight="500"
PopupMinHeight="100"
PopupMinWidth="100"
PopupWidth="750"
TextWrapping="Wrap"
ValidateOnEnterKeyPressed="True"
ValidateOnTextInput="True">
<dxg:LookUpEdit.StyleSettings>
<dxg:TokenLookUpEditStyleSettings EnableTokenWrapping="True" />
</dxg:LookUpEdit.StyleSettings>
</dxg:LookUpEdit>
</Grid>
<GroupBox
Grid.Row="1"
Margin="3,0,3,3"
Header=""
Style="{DynamicResource ObjectEditGroupBox}">
<Grid>
<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="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label
Grid.Row="0"
Grid.Column="0"
Margin="3"
Content="Vertretung ab" />
<Label
Grid.Row="1"
Grid.Column="0"
Margin="3"
Content="Vertretung bis" />
<dxe:DateEdit
x:Name="KVDatepickerVon"
Grid.Row="0"
Grid.Column="1"
Width="125"
Height="23"
Margin="3"
AllowNullInput="False"
EditValue="{Binding Path=SubstitutionStart, UpdateSourceTrigger=PropertyChanged}"
MaskType="DateTimeAdvancingCaret" />
<dxe:DateEdit
x:Name="KVDatepickerBis"
Grid.Row="1"
Grid.Column="1"
Width="125"
Height="23"
Margin="3"
AllowNullInput="False"
EditValue="{Binding Path=SubstitutionEnd, UpdateSourceTrigger=PropertyChanged}"
MaskType="DateTimeAdvancingCaret" />
<Label
Grid.Row="0"
Grid.Column="2"
Margin="3"
Content="Uhrzeit" />
<dxe:TextEdit
x:Name="startTime"
Grid.Row="0"
Grid.Column="3"
Width="60"
Height="23"
Margin="3"
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
MaskShowPlaceHolders="True"
MaskType="RegEx"
MaskUseAsDisplayFormat="True"
ShowError="False" />
<Label
Grid.Row="1"
Grid.Column="2"
Margin="3"
Content="Uhrzeit" />
<dxe:TextEdit
x:Name="endTime"
Grid.Row="1"
Grid.Column="3"
Width="60"
Height="23"
Margin="3"
Mask="(0?\d|1\d|2[0-3]):[0-5]\d"
MaskShowPlaceHolders="True"
MaskType="RegEx"
MaskUseAsDisplayFormat="True"
ShowError="False" />
<Label
x:Name="lblZuletztVertreten"
Grid.Row="0"
Grid.Column="5"
Margin="3"
Content="Letzte Vertretung" />
<ListBox
x:Name="ListBoxLetzteVertreter"
Grid.Row="0"
Grid.RowSpan="2"
Grid.Column="6"
Width="200"
Height="54"
Margin="3"
LostFocus="LetzteVertreter_OnLostFocus"
SelectionChanged="LetzteVertreter_OnSelectionChanged" />
</Grid>
</GroupBox>
<GroupBox
Grid.Row="2"
Grid.Column="0"
Margin="3,3,3,3"
Header=""
Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<WrapPanel Margin="0,3,0,3" Orientation="Horizontal">
<CheckBox
x:Name="RBMaennlich"
Margin="3,0,3,0"
VerticalAlignment="Center"
Click="RBMaennlich_OnClick"
Content="{markup:Translate männlich}"
IsChecked="True" />
<CheckBox
x:Name="RBWeiblich"
Margin="3,0,3,0"
VerticalAlignment="Center"
Click="RBWeiblich_OnClick"
Content="{markup:Translate weiblich}"
IsChecked="True" />
<Label Margin="10,0,3,0" Content="PLZ:" />
<dxe:TextEdit
x:Name="PlzKlient"
Width="70"
Height="23"
Margin="3,0,3,0"
VerticalContentAlignment="Center"
EditValueChanged="PlzKlient_OnTextChanged"
Mask="\d{1,5}"
MaskType="RegEx"
ShowError="False" />
<Label Margin="3,0,3,0" Content="Ort:" />
<TextBox
x:Name="OrtKlient"
Width="200"
Height="23"
Margin="3,0,3,0"
VerticalContentAlignment="Center"
TextChanged="OrtKlient_OnTextChanged" />
<CheckBox
x:Name="chkEntfernungssuche"
Margin="3,0,3,0"
VerticalAlignment="Center"
Content="{markup:Translate Verwende Abstandsmessung}"
IsChecked="False"
ToolTip="{markup:Translate Das Aktivieren der Option verwendet die Google Suche um den Abstand zwischen Adressen zu messen. Dieser Vorgang kann etwas mehr Zeit benötigen.}" />
</WrapPanel>
<Button
Grid.Row="1"
Width="90"
Margin="3,3,3,3"
HorizontalAlignment="Right"
Click="ButtonSuche_OnClick"
Content="Suche starten" />
</Grid>
</GroupBox>
<dxg:GridControl
x:Name="GridControlPossibleVertreter"
Grid.Row="3"
Grid.Column="0"
Height="200"
Margin="3,3,3,3"
Visibility="Visible">
<dxg:GridControl.Columns>
<dxg:GridColumn
FieldName="Nachname"
Header="Nachname"
ReadOnly="True"
SortOrder="Ascending" />
<dxg:GridColumn
FieldName="Vorname"
Header="Vorname"
ReadOnly="True" />
<dxg:GridColumn
FieldName="Arbeitszeit"
Header="Betreuungszeiten"
ReadOnly="True" />
<dxg:GridColumn
FieldName="Postleitzahl"
Header="Postleitzahl"
ReadOnly="True" />
<dxg:GridColumn
FieldName="Strasse"
Header="Strasse"
ReadOnly="True" />
<dxg:GridColumn
FieldName="Stadt"
Header="Stadt"
ReadOnly="True" />
<dxg:GridColumn
FieldName="Geschlecht"
Header="Geschlecht"
ReadOnly="True" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView
AllowBestFit="True"
AllowPerPixelScrolling="True"
BestFitMode="AllRows"
RowDoubleClick="TableView_OnRowDoubleClick"
ShowGridMenu="TableView_OnShowGridMenu"
ShowGroupPanel="False"
ShowTotalSummary="False" />
</dxg:GridControl.View>
</dxg:GridControl>
<StackPanel
Grid.Row="4"
Grid.Column="0"
Margin="3">
<WrapPanel
HorizontalAlignment="Right"
VerticalAlignment="Bottom"
Orientation="Horizontal">
<Button
Width="90"
Margin="3,3,3,3"
Click="ButtonBase_OnClick"
Content="Übernehmen" />
<Button
Width="90"
Margin="3,3,3,3"
Click="ButtonClose_OnClick"
Content="Schließen" />
</WrapPanel>
</StackPanel>
</Grid>
</Grid>
</GroupBox>
</Window>