Elwig: Add InteractionService to centrally manage MessageBox and SaveFileDialogs
Test / Run tests (push) Successful in 2m50s
Test / Run tests (push) Successful in 2m50s
This commit is contained in:
@@ -90,9 +90,7 @@ namespace Elwig.Windows {
|
||||
App.HintContextChange();
|
||||
ControlUtils.SelectItem(PaymentVariantList, v);
|
||||
} catch (Exception exc) {
|
||||
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, "Auszahlungsvariante erstellen", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
InteractionService.ShowDbException("Auszahlungsvariante erstellen", exc);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
}
|
||||
@@ -106,9 +104,7 @@ namespace Elwig.Windows {
|
||||
App.HintContextChange();
|
||||
ControlUtils.SelectItem(PaymentVariantList, n);
|
||||
} catch (Exception exc) {
|
||||
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, "Auszahlungsvariante kopieren", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
InteractionService.ShowDbException("Auszahlungsvariante kopieren", exc);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
}
|
||||
@@ -116,19 +112,14 @@ namespace Elwig.Windows {
|
||||
private async void DeleteButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (PaymentVariantList.SelectedItem is not PaymentVar v || !v.TestVariant)
|
||||
return;
|
||||
var res = MessageBox.Show(
|
||||
$"Soll die Auszahlungsvariante \"{v.Name}\" wirklich unwiderruflich gelöscht werden?",
|
||||
"Auszahlungsvariante löschen", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel);
|
||||
if (res != MessageBoxResult.OK)
|
||||
if (!InteractionService.AskContinue("Auszahlungsvariante löschen", $"Soll die Auszahlungsvariante \"{v.Name}\" wirklich unwiderruflich gelöscht werden?"))
|
||||
return;
|
||||
Mouse.OverrideCursor = Cursors.Wait;
|
||||
try {
|
||||
await PaymentVariantService.DeletePaymentVariant(v.Year, v.AvNr);
|
||||
App.HintContextChange();
|
||||
} catch (Exception exc) {
|
||||
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, "Auszahlungsvariante löschen", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
InteractionService.ShowDbException("Auszahlungsvariante löschen", exc);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
}
|
||||
@@ -142,7 +133,7 @@ namespace Elwig.Windows {
|
||||
await PaymentVariantService.Calculate(v.Year, v.AvNr);
|
||||
App.HintContextChange();
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Berechnungsfehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
InteractionService.ShowException("Berechnungsfehler", exc);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
ViewModel.CalculateIsEnabled = true;
|
||||
@@ -204,7 +195,7 @@ namespace Elwig.Windows {
|
||||
await PaymentVariantService.Commit(v.Year, v.AvNr);
|
||||
App.HintContextChange();
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
InteractionService.ShowException(exc);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
ViewModel.RevertIsEnabled = true;
|
||||
@@ -213,11 +204,9 @@ namespace Elwig.Windows {
|
||||
private async void RevertButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (PaymentVariantList.SelectedItem is not PaymentVar v)
|
||||
return;
|
||||
var res = MessageBox.Show(
|
||||
if (!InteractionService.AskConfirmation("Traubengutschriften löschen",
|
||||
"Sollen wirklich alle festgesetzten Traubengutschriften der ausgewählten Auszahlungsvariante unwiderruflich gelöscht werden?\n\n" +
|
||||
"Dies ist im Allgemeinen nie empfohlen. Handelt es sich um die aktuellste Auszahlungsvariante könnte das eine Ausnahme sein.",
|
||||
"Traubengutschriften löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
|
||||
if (res != MessageBoxResult.Yes)
|
||||
"Dies ist im Allgemeinen nie empfohlen. Handelt es sich um die aktuellste Auszahlungsvariante könnte das eine Ausnahme sein."))
|
||||
return;
|
||||
ViewModel.RevertIsEnabled = false;
|
||||
Mouse.OverrideCursor = Cursors.Wait;
|
||||
@@ -225,7 +214,7 @@ namespace Elwig.Windows {
|
||||
await PaymentVariantService.Revert(v.Year, v.AvNr);
|
||||
App.HintContextChange();
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
InteractionService.ShowException(exc);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
ViewModel.CommitIsEnabled = true;
|
||||
@@ -235,7 +224,7 @@ namespace Elwig.Windows {
|
||||
if (PaymentVariantList.SelectedItem is not PaymentVar v) {
|
||||
return;
|
||||
} else if (v.TransferDate == null) {
|
||||
MessageBox.Show("Überweisungsdatum muss gesetzt sein!", "Exportieren nicht möglich", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
InteractionService.ShowError("Exportieren nicht möglich", "Überweisungsdatum muss gesetzt sein!");
|
||||
return;
|
||||
}
|
||||
await PaymentVariantService.GenerateEbics(v.Year, v.AvNr);
|
||||
@@ -256,9 +245,7 @@ namespace Elwig.Windows {
|
||||
App.HintContextChange();
|
||||
} catch (Exception exc) {
|
||||
await ForceContextReload();
|
||||
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, "Auszahlungsvariante aktualisieren", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
InteractionService.ShowDbException("Auszahlungsvariante aktualisieren", exc);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
await EnsureContextRenewed();
|
||||
|
||||
Reference in New Issue
Block a user