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 (ContactPostInput.IsChecked ?? false) m.DefaultContact = "post";
|
||||||
if (ContactEmailInput.IsChecked ?? false) m.DefaultContact = "email";
|
if (ContactEmailInput.IsChecked ?? false) m.DefaultContact = "email";
|
||||||
|
|
||||||
|
EntityEntry<Member>? tr = null;
|
||||||
try {
|
try {
|
||||||
EntityEntry<Member>? tr = null;
|
|
||||||
if (IsEditing) {
|
if (IsEditing) {
|
||||||
tr = Context.Update(m);
|
tr = Context.Update(m);
|
||||||
} else if (IsCreating) {
|
} else if (IsCreating) {
|
||||||
m.MgNr = newMgNr;
|
m.MgNr = newMgNr;
|
||||||
await Context.AddAsync(m);
|
tr = (await Context.AddAsync(m));
|
||||||
}
|
}
|
||||||
await Context.SaveChangesAsync();
|
await Context.SaveChangesAsync();
|
||||||
|
|
||||||
@ -354,6 +354,7 @@ namespace Elwig.Windows {
|
|||||||
await Context.Database.ExecuteSqlAsync($"UPDATE member SET mgnr = {newMgNr} WHERE mgnr = {m.MgNr}");
|
await Context.Database.ExecuteSqlAsync($"UPDATE member SET mgnr = {newMgNr} WHERE mgnr = {m.MgNr}");
|
||||||
}
|
}
|
||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
|
if (tr != null) await tr.ReloadAsync();
|
||||||
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message;
|
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;
|
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;
|
||||||
MessageBox.Show(str, "Mitglied aktualisieren", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show(str, "Mitglied aktualisieren", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
|
Reference in New Issue
Block a user