[#83] PaymentVariantsWindow: Automatically calculate when saving variant
Test / Run tests (push) Successful in 1m57s
Test / Run tests (push) Successful in 1m57s
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
xmlns:local="clr-namespace:Elwig.Windows"
|
xmlns:local="clr-namespace:Elwig.Windows"
|
||||||
xmlns:vm="clr-namespace:Elwig.ViewModels"
|
xmlns:vm="clr-namespace:Elwig.ViewModels"
|
||||||
xmlns:ctrl="clr-namespace:Elwig.Controls"
|
xmlns:ctrl="clr-namespace:Elwig.Controls"
|
||||||
Title="Auszahlungsvarianten - Elwig" Height="480" Width="850" MinHeight="400" MinWidth="850">
|
Title="Auszahlungsvarianten - Elwig" Height="480" Width="850" MinHeight="430" MinWidth="850">
|
||||||
<Window.DataContext>
|
<Window.DataContext>
|
||||||
<vm:PaymentVariantsViewModel/>
|
<vm:PaymentVariantsViewModel/>
|
||||||
</Window.DataContext>
|
</Window.DataContext>
|
||||||
@@ -195,11 +195,10 @@
|
|||||||
Content="Benutzerdefinierte Zu-/Abschläge pro Mitglied"
|
Content="Benutzerdefinierte Zu-/Abschläge pro Mitglied"
|
||||||
Margin="110,175,10,10" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top"
|
Margin="110,175,10,10" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top"
|
||||||
Checked="ConsiderCustomInput_Changed" Unchecked="ConsiderCustomInput_Changed"/>
|
Checked="ConsiderCustomInput_Changed" Unchecked="ConsiderCustomInput_Changed"/>
|
||||||
<Label Content="" FontFamily="Segoe MDL2 Assets" FontSize="16" Grid.Row="0" Grid.Column="1" Margin="108,195,10,10"/>
|
|
||||||
|
|
||||||
<Grid Grid.Column="0" Grid.ColumnSpan="2" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="50,200,10,10">
|
<Grid Grid.Column="0" Grid.ColumnSpan="2" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="50,200,10,10">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="110"/>
|
<ColumnDefinition Width="130"/>
|
||||||
<ColumnDefinition Width="27"/>
|
<ColumnDefinition Width="27"/>
|
||||||
<ColumnDefinition Width="110"/>
|
<ColumnDefinition Width="110"/>
|
||||||
<ColumnDefinition Width="27"/>
|
<ColumnDefinition Width="27"/>
|
||||||
@@ -207,7 +206,7 @@
|
|||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="27"/>
|
<RowDefinition Height="27"/>
|
||||||
<RowDefinition Height="5"/>
|
<RowDefinition Height="37"/>
|
||||||
<RowDefinition Height="27"/>
|
<RowDefinition Height="27"/>
|
||||||
<RowDefinition Height="5"/>
|
<RowDefinition Height="5"/>
|
||||||
<RowDefinition Height="27"/>
|
<RowDefinition Height="27"/>
|
||||||
@@ -227,11 +226,23 @@
|
|||||||
</Grid.Resources>
|
</Grid.Resources>
|
||||||
|
|
||||||
<Button x:Name="EditButton" IsEnabled="{Binding IsPaymentVariantSelected}"
|
<Button x:Name="EditButton" IsEnabled="{Binding IsPaymentVariantSelected}"
|
||||||
Content="{Binding EditText}" Grid.Column="0" Grid.Row="2"
|
Grid.Column="0" Grid.Row="2" HorizontalContentAlignment="Stretch"
|
||||||
Click="EditButton_Click"/>
|
Click="EditButton_Click">
|
||||||
|
<Grid>
|
||||||
|
<TextBlock Margin="0,0,13,0" TextAlignment="Center" Text="{Binding EditText}"/>
|
||||||
|
<TextBlock FontFamily="Segoe MDL2 Assets" FontSize="16" Text=""
|
||||||
|
TextAlignment="Left" HorizontalAlignment="Right" Padding="0,1.5,0,0" Margin="0,0,5,0"/>
|
||||||
|
</Grid>
|
||||||
|
</Button>
|
||||||
<Label Content="" FontFamily="Segoe MDL2 Assets" FontSize="16" Grid.Row="2" Grid.Column="1"/>
|
<Label Content="" FontFamily="Segoe MDL2 Assets" FontSize="16" Grid.Row="2" Grid.Column="1"/>
|
||||||
<Button x:Name="ModifierButton" Content="Zu-/Abschläge" Grid.Column="0" Grid.Row="4"
|
<Button x:Name="ModifierButton" Grid.Column="0" Grid.Row="4" HorizontalContentAlignment="Stretch"
|
||||||
Click="ModifierButton_Click"/>
|
Click="ModifierButton_Click">
|
||||||
|
<Grid>
|
||||||
|
<TextBlock Margin="0,0,15,0" TextAlignment="Center">Zu-/Abschläge</TextBlock>
|
||||||
|
<TextBlock FontFamily="Segoe MDL2 Assets" FontSize="16" Text=""
|
||||||
|
TextAlignment="Left" HorizontalAlignment="Right" Padding="0,1.5,0,0" Margin="0,0,5,0"/>
|
||||||
|
</Grid>
|
||||||
|
</Button>
|
||||||
<Label Content="" FontFamily="Segoe MDL2 Assets" FontSize="16" Grid.Row="4" Grid.Column="1" RenderTransformOrigin="0.5,0.5" >
|
<Label Content="" FontFamily="Segoe MDL2 Assets" FontSize="16" Grid.Row="4" Grid.Column="1" RenderTransformOrigin="0.5,0.5" >
|
||||||
<Label.RenderTransform>
|
<Label.RenderTransform>
|
||||||
<TransformGroup>
|
<TransformGroup>
|
||||||
@@ -244,8 +255,14 @@
|
|||||||
Content="Berechnen" Grid.Column="2" Grid.Row="2"
|
Content="Berechnen" Grid.Column="2" Grid.Row="2"
|
||||||
Click="CalculateButton_Click"/>
|
Click="CalculateButton_Click"/>
|
||||||
<Label Content="{Binding Arrow}" FontFamily="Segoe MDL2 Assets" FontSize="16" Grid.Row="2" Grid.Column="3"/>
|
<Label Content="{Binding Arrow}" FontFamily="Segoe MDL2 Assets" FontSize="16" Grid.Row="2" Grid.Column="3"/>
|
||||||
<Button x:Name="PaymentAdjustmentButton" Content="Anpassen" Grid.Column="2" Grid.Row="4"
|
<Button x:Name="PaymentAdjustmentButton" Grid.Column="2" Grid.Row="4" HorizontalContentAlignment="Stretch"
|
||||||
Click="PaymentAdjustmentButton_Click"/>
|
Click="PaymentAdjustmentButton_Click">
|
||||||
|
<Grid>
|
||||||
|
<TextBlock Margin="0,0,13,0" TextAlignment="Center">Anpassen</TextBlock>
|
||||||
|
<TextBlock FontFamily="Segoe MDL2 Assets" FontSize="16" Text=""
|
||||||
|
TextAlignment="Left" HorizontalAlignment="Right" Padding="0,1.5,0,0" Margin="0,0,5,0"/>
|
||||||
|
</Grid>
|
||||||
|
</Button>
|
||||||
<Label Content="{Binding Arrow}" FontFamily="Segoe MDL2 Assets" FontSize="16" Grid.Row="4" Grid.Column="3" RenderTransformOrigin="0.5,0.5" >
|
<Label Content="{Binding Arrow}" FontFamily="Segoe MDL2 Assets" FontSize="16" Grid.Row="4" Grid.Column="3" RenderTransformOrigin="0.5,0.5" >
|
||||||
<Label.RenderTransform>
|
<Label.RenderTransform>
|
||||||
<TransformGroup>
|
<TransformGroup>
|
||||||
@@ -261,7 +278,7 @@
|
|||||||
Content="Freigeben" Grid.Column="4" Grid.Row="2"
|
Content="Freigeben" Grid.Column="4" Grid.Row="2"
|
||||||
Click="RevertButton_Click"/>
|
Click="RevertButton_Click"/>
|
||||||
<Button x:Name="SaveButton" IsEnabled="{Binding SaveIsEnabled}"
|
<Button x:Name="SaveButton" IsEnabled="{Binding SaveIsEnabled}"
|
||||||
Content="Speichern" Grid.Column="4" Grid.Row="0"
|
Content="Speichern" Grid.Column="2" Grid.Row="0"
|
||||||
Click="SaveButton_Click"/>
|
Click="SaveButton_Click"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ using Elwig.Services;
|
|||||||
using Elwig.ViewModels;
|
using Elwig.ViewModels;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
@@ -239,15 +240,27 @@ namespace Elwig.Windows {
|
|||||||
private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
|
private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
if (PaymentVariantList.SelectedItem is not PaymentVar v || ViewModel.BillingData == null)
|
if (PaymentVariantList.SelectedItem is not PaymentVar v || ViewModel.BillingData == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Mouse.OverrideCursor = Cursors.Wait;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
try {
|
try {
|
||||||
await ViewModel.UpdatePaymentVariant(v.Year, v.AvNr);
|
await ViewModel.UpdatePaymentVariant(v.Year, v.AvNr);
|
||||||
App.HintContextChange();
|
|
||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
await ForceContextReload();
|
await ForceContextReload();
|
||||||
InteractionService.ShowDbException("Auszahlungsvariante aktualisieren", exc);
|
InteractionService.ShowDbException("Auszahlungsvariante aktualisieren", exc);
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
await Task.Run(async () => {
|
||||||
|
var b = await BillingVariant.Create(v.Year, v.AvNr);
|
||||||
|
await b.Calculate(false);
|
||||||
|
});
|
||||||
|
} catch (KeyNotFoundException exc) {
|
||||||
|
InteractionService.ShowInformation("Noch nicht alle Preise festgelegt", exc.Message);
|
||||||
|
} catch (Exception exc) {
|
||||||
|
InteractionService.ShowException("Berechnungsfehler", exc);
|
||||||
|
}
|
||||||
|
App.HintContextChange();
|
||||||
Mouse.OverrideCursor = null;
|
Mouse.OverrideCursor = null;
|
||||||
|
|
||||||
await EnsureContextRenewed();
|
await EnsureContextRenewed();
|
||||||
CommentInput_TextChanged(null, null);
|
CommentInput_TextChanged(null, null);
|
||||||
DateInput_TextChanged(null, null);
|
DateInput_TextChanged(null, null);
|
||||||
|
|||||||
Reference in New Issue
Block a user