Catch DB constraint errors in EF
This commit is contained in:
@ -340,13 +340,13 @@ namespace Elwig.Windows {
|
||||
if (ContactPostInput.IsChecked ?? false) m.DefaultContact = "post";
|
||||
if (ContactEmailInput.IsChecked ?? false) m.DefaultContact = "email";
|
||||
|
||||
EntityEntry<Member>? tr = null;
|
||||
try {
|
||||
EntityEntry<Member>? tr = null;
|
||||
if (IsEditing) {
|
||||
tr = Context.Update(m);
|
||||
} else if (IsCreating) {
|
||||
m.MgNr = newMgNr;
|
||||
await Context.AddAsync(m);
|
||||
tr = (await Context.AddAsync(m));
|
||||
}
|
||||
await Context.SaveChangesAsync();
|
||||
|
||||
@ -354,6 +354,7 @@ namespace Elwig.Windows {
|
||||
await Context.Database.ExecuteSqlAsync($"UPDATE member SET mgnr = {newMgNr} WHERE mgnr = {m.MgNr}");
|
||||
}
|
||||
} catch (Exception exc) {
|
||||
if (tr != null) 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, "Mitglied aktualisieren", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
|
Reference in New Issue
Block a user