Files
BeWoPlaner/BeWo/View/Detail/Accounting/GeneralInvoiceItemEditView.xaml
2025-11-03 10:41:52 +01:00

491 lines
24 KiB
XML

<localView:BeWoView
x:Class="BeWo.View.Detail.Accounting.GeneralInvoiceItemEditView"
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"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:localView="clr-namespace:BeWo.View"
xmlns:markup="clr-namespace:BeWo.MultiLanguage.Markup"
xmlns:val="clr-namespace:BeWo.Validation"
Width="Auto"
Height="Auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Focusable="True">
<GroupBox
Width="800"
MinHeight="200"
Style="{StaticResource PopUpWindowStyle}">
<GroupBox.Header>
<StackPanel
Margin="0,0,0,0"
VerticalAlignment="Center"
Orientation="Horizontal">
<Image Height="28" Source="..\..\Ressources\Icons\CoinsDisabled.png" />
<TextBox
Margin="10,4,0,0"
Padding="0,0,0,0"
VerticalAlignment="Stretch"
Background="{x:Null}"
BorderBrush="{x:Null}"
BorderThickness="0,0,0,0"
FontSize="20"
Foreground="{DynamicResource MainGroupBoxForegroundBrush}"
Text="Rechnung bearbeiten" />
</StackPanel>
</GroupBox.Header>
<Grid Background="{StaticResource ObjectEditBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Rectangle
Height="6"
VerticalAlignment="Top"
Fill="{DynamicResource AccountingContentBrush}" />
<ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto">
<Grid Margin="10,10,0,10" Grid.IsSharedSizeScope="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<GroupBox
Grid.ColumnSpan="2"
Margin="3,6,3,6"
Header="Rechnungsdetails"
Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<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 Content="Rechnungsnummer" />
<TextBox
Grid.Row="0"
Grid.Column="1"
Height="23"
Margin="3"
Text="{Binding Path=InvoiceNumber, UpdateSourceTrigger=PropertyChanged}" />
<Label
Grid.Row="0"
Grid.Column="2"
Content="{markup:Translate Ersteller Vorname}" />
<TextBox
Grid.Row="0"
Grid.Column="3"
Height="23"
Margin="3"
Text="{Binding CreatorFirstName}" />
<Label
Grid.Row="0"
Grid.Column="4"
Content="{markup:Translate Ersteller Nachname}" />
<TextBox
Grid.Row="0"
Grid.Column="5"
Height="23"
Margin="3"
Text="{Binding CreatorLastName}" />
<Label
Grid.Row="1"
Grid.Column="0"
Content="Rechnungsdatum" />
<dxe:DateEdit
Grid.Row="1"
Grid.Column="1"
Height="23"
Margin="3"
BorderThickness="1"
EditValue="{val:ValidationBinding Path=InvoiceDate,
Mode=TwoWay}"
MaskType="DateTimeAdvancingCaret" />
<Label
Grid.Row="1"
Grid.Column="2"
Content="Abrechnungszeitraum von" />
<dxe:DateEdit
Grid.Row="1"
Grid.Column="3"
Height="23"
Margin="3"
BorderThickness="1"
EditValue="{val:ValidationBinding Path=AccountingPeriodStart}"
MaskType="DateTimeAdvancingCaret" />
<Label
Grid.Row="1"
Grid.Column="4"
Content="Abrechnungszeitraum bis" />
<dxe:DateEdit
Grid.Row="1"
Grid.Column="5"
Height="23"
Margin="3"
BorderThickness="1"
EditValue="{val:ValidationBinding Path=AccountingPeriodEnd}"
MaskType="DateTimeAdvancingCaret" />
<Label
Grid.Row="2"
Grid.Column="0"
Content="anz Mahnungen" />
<dxe:SpinEdit
Grid.Row="2"
Grid.Column="1"
Height="23"
Margin="3"
VerticalAlignment="Top"
AllowNullInput="True"
EditValue="{Binding Path=DunningLetterCount, Converter={StaticResource Int2DecimalConverter}}"
IsFloatValue="False"
MinValue="0" />
<Label
Grid.Row="2"
Grid.Column="2"
Content="Bemerkung" />
<TextBox
Grid.Row="2"
Grid.Column="3"
Grid.ColumnSpan="3"
Height="23"
Margin="3"
AcceptsReturn="True"
Text="{Binding Notice}"
TextWrapping="Wrap" />
</Grid>
</GroupBox>
<GroupBox
Grid.Row="1"
Margin="3,6,6,3"
Header="{markup:Translate EmpfängerSingular}"
Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="col1" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" SharedSizeGroup="col3" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Content="Organisation" />
<TextBox
Grid.Row="0"
Grid.Column="1"
Height="23"
Margin="3"
Text="{Binding RecipientOrganisation}" />
<Label
Grid.Row="0"
Grid.Column="2"
Content="Abteilung" />
<TextBox
Grid.Row="0"
Grid.Column="3"
Height="23"
Margin="3"
Text="{Binding RecipientDivision}" />
<Label Grid.Row="1" Content="Vorname" />
<TextBox
Grid.Row="1"
Grid.Column="1"
Height="23"
Margin="3"
Text="{Binding RecipientPersonFirstName}" />
<Label
Grid.Row="1"
Grid.Column="2"
Content="Nachname" />
<TextBox
Grid.Row="1"
Grid.Column="3"
Height="23"
Margin="3"
Text="{Binding RecipientPersonLastName}" />
<Label
Grid.Row="2"
Grid.Column="0"
Content="Aktenzeichen" />
<TextBox
Grid.Row="2"
Grid.Column="1"
Height="23"
Margin="3"
Text="{Binding CustomerReferenceNumber}" />
<Label
Grid.Row="2"
Grid.Column="2"
Content="Strasse" />
<TextBox
Grid.Row="2"
Grid.Column="3"
Height="23"
Margin="3"
Text="{val:ValidationBinding Path=RecipientStreet}" />
<Label
Grid.Row="3"
Grid.Column="0"
Content="Postleitzahl" />
<TextBox
Grid.Row="3"
Grid.Column="1"
Height="23"
Margin="3,3,3,0"
Text="{val:ValidationBinding Path=RecipientPostCode}" />
<Label
Grid.Row="3"
Grid.Column="2"
Content="Ort" />
<TextBox
Grid.Row="3"
Grid.Column="3"
Height="23"
Margin="3"
Text="{val:ValidationBinding Path=RecipientTown}" />
<Label
Grid.Row="4"
Grid.Column="2"
Content="Postfach" />
<TextBox
Grid.Row="4"
Grid.Column="3"
Height="23"
Margin="3"
Text="{val:ValidationBinding Path=RecipientPostBox}" />
</Grid>
</GroupBox>
<GroupBox
Grid.Row="1"
Grid.Column="1"
Margin="6,6,3,3"
Header="{markup:Translate Absender}"
Style="{StaticResource ObjectEditGroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="col1" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" SharedSizeGroup="col3" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label Content="Vorname" />
<TextBox
Grid.Row="0"
Grid.Column="1"
Height="23"
Margin="3"
Text="{Binding SenderFirstName}" />
<Label
Grid.Row="0"
Grid.Column="2"
Content="Nachname" />
<TextBox
Grid.Row="0"
Grid.Column="3"
Height="23"
Margin="3"
Text="{Binding SenderLastName}" />
<Label
Grid.Row="1"
Grid.Column="0"
Content="Organisation" />
<TextBox
Grid.Row="1"
Grid.Column="1"
Height="23"
Margin="3"
Text="{Binding SenderOrganisation}" />
<Label
Grid.Row="1"
Grid.Column="2"
Content="Abteilung" />
<TextBox
Grid.Row="1"
Grid.Column="3"
Height="23"
Margin="3"
Text="{Binding SenderDivision}" />
<Label
Grid.Row="2"
Grid.Column="0"
Content="Fax" />
<TextBox
Grid.Row="2"
Grid.Column="1"
Height="23"
Margin="3"
Text="{Binding SenderFax}" />
<Label
Grid.Row="2"
Grid.Column="2"
Content="Telefon" />
<TextBox
Grid.Row="2"
Grid.Column="3"
Height="23"
Margin="3"
Text="{Binding SenderPhone}" />
</Grid>
</GroupBox>
<GroupBox
Grid.Row="2"
Grid.ColumnSpan="2"
Margin="3,6,3,3"
Header="Rechnungsposten"
Style="{StaticResource ObjectEditGroupBox}">
<dxg:GridControl
x:Name="datagrid_invoiceItems"
Margin="3"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
DataSource="{Binding InvoiceItems.VMList}">
<dxg:GridControl.Columns>
<dxg:GridColumn
Width="24"
FieldName="Notice"
FixedWidth="True"
Header=""
ReadOnly="True">
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<Button
Width="18"
Height="18"
VerticalAlignment="Center"
Click="DeleteButton_Click"
Content="r"
FontFamily="Webdings" />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
<dxg:GridColumn
Width="80"
EditSettings="{dxe:DateSettings DisplayFormat=d}"
FieldName="ItemPeriodStart"
Header="Von" />
<dxg:GridColumn
Width="80"
EditSettings="{dxe:DateSettings DisplayFormat=d}"
FieldName="ItemPeriodEnd"
Header="Bis" />
<dxg:GridColumn
Width="150"
FieldName="ItemDescription"
Header="Posten" />
<dxg:GridColumn
Width="80"
FieldName="AmountPerUnit"
Header="Satz">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings
DisplayFormat="c"
Mask="c"
MaskType="Numeric" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn
Width="80"
FieldName="UnitCount"
Header="Anzahl" />
<dxg:GridColumn FieldName="AmountTotal" Header="Betrag">
<dxg:GridColumn.CellStyle>
<Style TargetType="dxg:LightweightCellEditor">
<Setter Property="TextBlock.FontWeight" Value="Bold" />
</Style>
</dxg:GridColumn.CellStyle>
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings
DisplayFormat="c"
Mask="c"
MaskType="Numeric" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView
x:Name="gridView"
Margin="3"
Loaded="gridView_Loaded"
NavigationStyle="Cell"
NewItemRowPosition="Top"
ScrollViewer.VerticalScrollBarVisibility="Hidden"
ShowGroupPanel="False"
SnapsToDevicePixels="True" />
</dxg:GridControl.View>
</dxg:GridControl>
</GroupBox>
</Grid>
</ScrollViewer>
<StackPanel
Grid.Row="2"
Grid.ColumnSpan="2"
Height="Auto"
Margin="5,0,5,5"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Orientation="Horizontal">
<Button
x:Name="btnSave"
Height="25"
Margin="5"
Command="ApplicationCommands.Save"
Content="Rechnung erstellen" />
<Button
x:Name="btnClose"
Height="25"
Margin="5"
Command="ApplicationCommands.Close"
Content="Abbrechen" />
</StackPanel>
</Grid>
</GroupBox>
</localView:BeWoView>