diff --git a/Elwig/Windows/PaymentVariantsWindow.xaml b/Elwig/Windows/PaymentVariantsWindow.xaml
index fd0bb76..210107b 100644
--- a/Elwig/Windows/PaymentVariantsWindow.xaml
+++ b/Elwig/Windows/PaymentVariantsWindow.xaml
@@ -7,7 +7,7 @@
xmlns:local="clr-namespace:Elwig.Windows"
xmlns:vm="clr-namespace:Elwig.ViewModels"
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">
@@ -195,11 +195,10 @@
Content="Benutzerdefinierte Zu-/Abschläge pro Mitglied"
Margin="110,175,10,10" Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Top"
Checked="ConsiderCustomInput_Changed" Unchecked="ConsiderCustomInput_Changed"/>
-
-
+
@@ -207,7 +206,7 @@
-
+
@@ -227,11 +226,23 @@
+ Grid.Column="0" Grid.Row="2" HorizontalContentAlignment="Stretch"
+ Click="EditButton_Click">
+
+
+
+
+
-
+
diff --git a/Elwig/Windows/PaymentVariantsWindow.xaml.cs b/Elwig/Windows/PaymentVariantsWindow.xaml.cs
index f37d87d..5387854 100644
--- a/Elwig/Windows/PaymentVariantsWindow.xaml.cs
+++ b/Elwig/Windows/PaymentVariantsWindow.xaml.cs
@@ -5,6 +5,7 @@ using Elwig.Services;
using Elwig.ViewModels;
using Microsoft.EntityFrameworkCore;
using System;
+using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using System.Threading.Tasks;
@@ -239,15 +240,27 @@ namespace Elwig.Windows {
private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
if (PaymentVariantList.SelectedItem is not PaymentVar v || ViewModel.BillingData == null)
return;
+
Mouse.OverrideCursor = Cursors.Wait;
try {
await ViewModel.UpdatePaymentVariant(v.Year, v.AvNr);
- App.HintContextChange();
} catch (Exception exc) {
await ForceContextReload();
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;
+
await EnsureContextRenewed();
CommentInput_TextChanged(null, null);
DateInput_TextChanged(null, null);