diff --git a/Elwig/Helpers/Utils.cs b/Elwig/Helpers/Utils.cs index 024ceeb..e374648 100644 --- a/Elwig/Helpers/Utils.cs +++ b/Elwig/Helpers/Utils.cs @@ -283,5 +283,9 @@ namespace Elwig.Helpers { ), sum => sum.Kmw ); + + public static string GenerateLsNr(Delivery d) => GenerateLsNr(d.Date, d.ZwstId, d.LNr); + + public static string GenerateLsNr(DateOnly date, string zwstid, int lnr) => $"{date:yyyyMMdd}{zwstid}{lnr:000}"; } } diff --git a/Elwig/Windows/AreaComAdminWindow.xaml.cs b/Elwig/Windows/AreaComAdminWindow.xaml.cs index bf9d368..60e4068 100644 --- a/Elwig/Windows/AreaComAdminWindow.xaml.cs +++ b/Elwig/Windows/AreaComAdminWindow.xaml.cs @@ -152,18 +152,25 @@ namespace Elwig.Windows { } else if (IsCreating) { a.FbNr = newFbNr; tr = (await Context.AddAsync(a)); + } else { + throw new Exception(); } await Context.SaveChangesAsync(); if (newFbNr != a.FbNr) { await Context.Database.ExecuteSqlAsync($"UPDATE area_commitment SET fbnr = {newFbNr} WHERE fbnr = {a.FbNr}"); - await Context.Members.LoadAsync(); + tr.State = EntityState.Detached; + await Context.SaveChangesAsync(); + await tr.ReloadAsync(); a = await Context.AreaCommitments.FindAsync(newFbNr); } } catch (Exception exc) { - if (tr != null) await tr.ReloadAsync(); + if (tr != null) { + tr.State = EntityState.Detached; + await tr.ReloadAsync(); + } var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message; if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message; MessageBox.Show(str, "Flächenbindung aktualisieren", MessageBoxButton.OK, MessageBoxImage.Error); diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml b/Elwig/Windows/DeliveryAdminWindow.xaml index 4f64ab8..f206f3d 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml +++ b/Elwig/Windows/DeliveryAdminWindow.xaml @@ -353,7 +353,7 @@ -