App: Make HintContextChange() synchronous by using MainDispatcher
All checks were successful
Test / Run tests (push) Successful in 2m37s

This commit is contained in:
2024-09-12 11:40:32 +02:00
parent 5c08f61963
commit f09c43c1bd
18 changed files with 32 additions and 32 deletions

View File

@ -79,7 +79,7 @@ namespace Elwig {
}
private static void OnContextChanged() {
MainDispatcher.BeginInvoke(async () => await HintContextChange());
MainDispatcher.BeginInvoke(HintContextChange);
}
private static void OverrideCulture() {
@ -201,13 +201,13 @@ namespace Elwig {
BranchMobileNr = entry.Item8;
}
public static async Task HintContextChange() {
public static void HintContextChange() {
var ch = CurrentLastWrite;
if (ch > CurrentApp.LastChanged)
CurrentApp.LastChanged = ch;
foreach (Window w in CurrentApp.Windows) {
if (w is not ContextWindow c) continue;
await c.HintContextChange();
MainDispatcher.BeginInvoke(c.HintContextChange);
}
}

View File

@ -274,7 +274,7 @@ namespace Elwig.Helpers.Export {
await ctx.SaveChangesAsync();
await AddImportedFiles(Path.GetFileName(meta.FileName));
}
await App.HintContextChange();
App.HintContextChange();
MessageBox.Show(
$"Das importieren der Daten war erfolgreich!\n" +

View File

@ -136,7 +136,7 @@ namespace Elwig.Services {
}
}
await App.HintContextChange();
App.HintContextChange();
return newFbNr;
}

View File

@ -125,7 +125,7 @@ namespace Elwig.Services {
}
}
await App.HintContextChange();
App.HintContextChange();
return (year, dsnr, newMgNr, newSortId);
}

View File

@ -177,7 +177,7 @@ namespace Elwig.Services {
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
App.HintContextChange();
}
}
}

View File

@ -338,7 +338,7 @@ namespace Elwig.Services {
var b = new Billing(year);
await b.FinishSeason();
await b.CalculateBuckets();
await App.HintContextChange();
App.HintContextChange();
using var ctx = new AppDbContext();
var data = await DeliveryConfirmationDeliveryData.ForMember(ctx.DeliveryParts, year, m);
@ -626,7 +626,7 @@ namespace Elwig.Services {
}
}
await App.HintContextChange();
App.HintContextChange();
return newMgNr;
}

View File

@ -209,7 +209,7 @@ namespace Elwig.Windows {
ctx.Remove(a);
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
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;

View File

@ -196,7 +196,7 @@ namespace Elwig.Windows {
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;
MessageBox.Show(str, "Saison anlegen", MessageBoxButton.OK, MessageBoxImage.Error);
}
await App.HintContextChange();
App.HintContextChange();
Mouse.OverrideCursor = null;
SeasonList.SelectedIndex = 0;
}
@ -219,7 +219,7 @@ namespace Elwig.Windows {
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;
MessageBox.Show(str, "Saison löschen", MessageBoxButton.OK, MessageBoxImage.Error);
}
await App.HintContextChange();
App.HintContextChange();
Mouse.OverrideCursor = null;
}
}

View File

@ -340,7 +340,7 @@ namespace Elwig.Windows {
LockInputs();
}
await App.HintContextChange();
App.HintContextChange();
}
private void FillInputs(ClientParameters p, Season? s) {

View File

@ -672,7 +672,7 @@ namespace Elwig.Windows {
await ctx.SaveChangesAsync();
}
LockContext = false;
await App.HintContextChange();
App.HintContextChange();
} catch (Exception exc) {
var str = "Der Eintrag konnte nicht in der Datenbank gespeichert werden!\n\n" + exc.Message;
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;

View File

@ -313,7 +313,7 @@ namespace Elwig.Windows {
ctx.Remove(a);
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
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;

View File

@ -177,7 +177,7 @@ namespace Elwig.Windows {
ctx.Remove(s);
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
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;

View File

@ -515,7 +515,7 @@ namespace Elwig.Windows {
var b = new Billing(year);
await b.FinishSeason();
await b.CalculateBuckets();
await App.HintContextChange();
App.HintContextChange();
dcData[year] = await DeliveryConfirmationDeliveryData.ForSeason(ctx.DeliveryParts, year);
} catch (Exception exc) {

View File

@ -287,7 +287,7 @@ namespace Elwig.Windows {
var b = new Billing(year);
await b.FinishSeason();
await b.CalculateBuckets();
await App.HintContextChange();
App.HintContextChange();
using var ctx = new AppDbContext();
var tbl1 = await OverUnderDeliveryData.ForSeason(ctx.OverUnderDeliveryRows, year);
@ -326,7 +326,7 @@ namespace Elwig.Windows {
var b = new Billing(year);
await b.FinishSeason();
await b.CalculateBuckets();
await App.HintContextChange();
App.HintContextChange();
using var ctx = new AppDbContext();
using var ods = new OdsFile(d.FileName);

View File

@ -374,7 +374,7 @@ namespace Elwig.Windows {
ctx.Remove(l);
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
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;

View File

@ -191,7 +191,7 @@ namespace Elwig.Windows {
}
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
App.HintContextChange();
ControlUtils.SelectItemWithPk(WbGlKgs, k.KgNr);
} catch (Exception exc) {
var str = "Der Eintrag konnte nicht in der Datenbank aktualisiert werden!\n\n" + exc.Message;
@ -211,7 +211,7 @@ namespace Elwig.Windows {
ctx.Remove(k.WbKg);
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
App.HintContextChange();
ControlUtils.SelectItemWithPk(WbKgs, k.KgNr);
} catch (Exception exc) {
await HintContextChange();

View File

@ -173,7 +173,7 @@ namespace Elwig.Windows {
var b = new Billing(Year);
await b.AutoAdjustBusinessShares(new DateOnly(Year, 11, 30), kg ?? default, bs ?? default, kgPerBs ?? default, percent / 100.0 ?? default, minBs ?? default);
await App.HintContextChange();
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;
@ -187,7 +187,7 @@ namespace Elwig.Windows {
try {
var b = new Billing(Year);
await b.UnAdjustBusinessShares();
await App.HintContextChange();
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;
@ -309,7 +309,7 @@ namespace Elwig.Windows {
if (exc.InnerException != null) str += "\n\n" + exc.InnerException.Message;
MessageBox.Show(str, "Benutzerdefinierten Zu-/Abschlag speichern", MessageBoxButton.OK, MessageBoxImage.Error);
}
await App.HintContextChange();
App.HintContextChange();
Mouse.OverrideCursor = null;
}
}

View File

@ -240,7 +240,7 @@ namespace Elwig.Windows {
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
App.HintContextChange();
ControlUtils.SelectItem(PaymentVariantList, v);
} catch (Exception exc) {
@ -268,7 +268,7 @@ namespace Elwig.Windows {
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
App.HintContextChange();
ControlUtils.SelectItem(PaymentVariantList, n);
} catch (Exception exc) {
@ -285,7 +285,7 @@ namespace Elwig.Windows {
ctx.Remove(v);
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
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;
@ -304,7 +304,7 @@ namespace Elwig.Windows {
} catch (Exception exc) {
MessageBox.Show(exc.Message, "Berechnungsfehler", MessageBoxButton.OK, MessageBoxImage.Error);
}
await App.HintContextChange();
App.HintContextChange();
Mouse.OverrideCursor = null;
CalculateButton.IsEnabled = true;
}
@ -399,7 +399,7 @@ namespace Elwig.Windows {
}
Mouse.OverrideCursor = null;
RevertButton.IsEnabled = true;
await App.HintContextChange();
App.HintContextChange();
}
private async void RevertButton_Click(object sender, RoutedEventArgs evt) {
@ -415,7 +415,7 @@ namespace Elwig.Windows {
Mouse.OverrideCursor = Cursors.AppStarting;
var b = new BillingVariant(v.Year, v.AvNr);
await b.Revert();
await App.HintContextChange();
App.HintContextChange();
Mouse.OverrideCursor = null;
CommitButton.IsEnabled = true;
}
@ -507,7 +507,7 @@ namespace Elwig.Windows {
await ctx.SaveChangesAsync();
}
await App.HintContextChange();
App.HintContextChange();
CommentInput_TextChanged(null, null);
ConsiderModifiersInput_Changed(null, null);
ConsiderPenaltiesInput_Changed(null, null);