[#57] MainWindow: Use Task.Run()
All checks were successful
Test / Run tests (push) Successful in 1m51s
All checks were successful
Test / Run tests (push) Successful in 1m51s
This commit is contained in:
@ -62,7 +62,7 @@ namespace Elwig.Windows {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async void Menu_Help_Smtp_Click(object sender, RoutedEventArgs evt) {
|
private async void Menu_Help_Smtp_Click(object sender, RoutedEventArgs evt) {
|
||||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
try {
|
try {
|
||||||
using var client = await Utils.GetSmtpClient();
|
using var client = await Utils.GetSmtpClient();
|
||||||
await client!.DisconnectAsync(true);
|
await client!.DisconnectAsync(true);
|
||||||
@ -133,8 +133,10 @@ namespace Elwig.Windows {
|
|||||||
Multiselect = true,
|
Multiselect = true,
|
||||||
};
|
};
|
||||||
if (d.ShowDialog() == true) {
|
if (d.ShowDialog() == true) {
|
||||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
|
await Task.Run(async () => {
|
||||||
await ElwigData.Import(d.FileNames, ElwigData.ImportMode.Interactively);
|
await ElwigData.Import(d.FileNames, ElwigData.ImportMode.Interactively);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
@ -145,7 +147,8 @@ namespace Elwig.Windows {
|
|||||||
private async void DownloadButton_Click(object sender, RoutedEventArgs evt) {
|
private async void DownloadButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
if (App.Config.SyncUrl == null)
|
if (App.Config.SyncUrl == null)
|
||||||
return;
|
return;
|
||||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
|
await Task.Run(async () => {
|
||||||
try {
|
try {
|
||||||
var data = await Utils.GetExportMetaData(App.Config.SyncUrl, App.Config.SyncUsername, App.Config.SyncPassword);
|
var data = await Utils.GetExportMetaData(App.Config.SyncUrl, App.Config.SyncUsername, App.Config.SyncPassword);
|
||||||
var files = data
|
var files = data
|
||||||
@ -181,13 +184,15 @@ namespace Elwig.Windows {
|
|||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
Mouse.OverrideCursor = null;
|
Mouse.OverrideCursor = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void UploadButton_Click(object sender, RoutedEventArgs evt) {
|
private async void UploadButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
if (App.Config.SyncUrl == null)
|
if (App.Config.SyncUrl == null)
|
||||||
return;
|
return;
|
||||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
|
await Task.Run(async () => {
|
||||||
try {
|
try {
|
||||||
var path = Path.Combine(App.TempPath, $"{DateTime.Now:yyyy-MM-dd_HH-mm-ss}_{App.ZwstId}.elwig.zip");
|
var path = Path.Combine(App.TempPath, $"{DateTime.Now:yyyy-MM-dd_HH-mm-ss}_{App.ZwstId}.elwig.zip");
|
||||||
using var ctx = new AppDbContext();
|
using var ctx = new AppDbContext();
|
||||||
@ -216,6 +221,7 @@ namespace Elwig.Windows {
|
|||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
MessageBox.Show(exc.Message, "Lieferungen hochladen", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show(exc.Message, "Lieferungen hochladen", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
Mouse.OverrideCursor = null;
|
Mouse.OverrideCursor = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,24 +276,31 @@ namespace Elwig.Windows {
|
|||||||
AreaCommitmentsButton.IsEnabled = valid;
|
AreaCommitmentsButton.IsEnabled = valid;
|
||||||
BreakdownMemberVarietyButton.IsEnabled = valid;
|
BreakdownMemberVarietyButton.IsEnabled = valid;
|
||||||
|
|
||||||
if (valid) {
|
|
||||||
var areaComs = Utils.ActiveAreaCommitments(ctx.AreaCommitments, year!.Value);
|
|
||||||
var weightTotal = await ctx.DeliveryParts.Where(p => p.Year == year).SumAsync(p => p.Weight);
|
|
||||||
var gebWeight = await ctx.DeliveryPartBuckets.Where(b => b.Year == year && b.Discr != "_").SumAsync(b => b.Value);
|
|
||||||
SeasonStatMembersTotal.Text = $"{await ctx.Deliveries.Where(d => d.Year == year).Select(d => d.Member).Distinct().CountAsync():N0}";
|
|
||||||
SeasonStatMembersGeb.Text = $"{await areaComs.Select(c => c.Member).Distinct().CountAsync():N0}";
|
|
||||||
SeasonStatWeightTotal.Text = $"{weightTotal:N0} kg";
|
|
||||||
SeasonStatWeightGeb.Text = $"{gebWeight:N0} kg";
|
|
||||||
SeasonStatWeightUngeb.Text = $"{weightTotal - gebWeight:N0} kg";
|
|
||||||
SeasonStatArea.Text = $"{await areaComs.SumAsync(c => c.Area):N0} m²";
|
|
||||||
} else {
|
|
||||||
SeasonStatMembersTotal.Text = "-";
|
SeasonStatMembersTotal.Text = "-";
|
||||||
SeasonStatMembersGeb.Text = "-";
|
SeasonStatMembersGeb.Text = "-";
|
||||||
SeasonStatWeightTotal.Text = "-";
|
SeasonStatWeightTotal.Text = "-";
|
||||||
SeasonStatWeightGeb.Text = "-";
|
SeasonStatWeightGeb.Text = "-";
|
||||||
SeasonStatWeightUngeb.Text = "-";
|
SeasonStatWeightUngeb.Text = "-";
|
||||||
SeasonStatArea.Text = "-";
|
SeasonStatArea.Text = "-";
|
||||||
}
|
if (valid) {
|
||||||
|
await Task.Run(async () => {
|
||||||
|
var membersTotal = await ctx.Deliveries.Where(d => d.Year == year).Select(d => d.Member).Distinct().CountAsync();
|
||||||
|
var areaComs = Utils.ActiveAreaCommitments(ctx.AreaCommitments, year!.Value);
|
||||||
|
var membersGeb = await areaComs.Select(c => c.Member).Distinct().CountAsync();
|
||||||
|
var weightTotal = await ctx.DeliveryParts.Where(p => p.Year == year).SumAsync(p => p.Weight);
|
||||||
|
var gebWeight = await ctx.DeliveryPartBuckets.Where(b => b.Year == year && b.Discr != "_").SumAsync(b => b.Value);
|
||||||
|
var area = await areaComs.SumAsync(c => c.Area);
|
||||||
|
await App.MainDispatcher.BeginInvoke(() => {
|
||||||
|
if (year != SeasonInput.Value) return;
|
||||||
|
SeasonStatMembersTotal.Text = $"{membersTotal:N0}";
|
||||||
|
SeasonStatMembersGeb.Text = $"{membersGeb:N0}";
|
||||||
|
SeasonStatWeightTotal.Text = $"{weightTotal:N0} kg";
|
||||||
|
SeasonStatWeightGeb.Text = $"{gebWeight:N0} kg";
|
||||||
|
SeasonStatWeightUngeb.Text = $"{weightTotal - gebWeight:N0} kg";
|
||||||
|
SeasonStatArea.Text = $"{area:N0} m²";
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DeliveryConfirmationButton_Click(object sender, RoutedEventArgs evt) {
|
private void DeliveryConfirmationButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
@ -315,7 +328,8 @@ namespace Elwig.Windows {
|
|||||||
if (d.ShowDialog() == false)
|
if (d.ShowDialog() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
|
await Task.Run(async () => {
|
||||||
try {
|
try {
|
||||||
var b = new Billing(year);
|
var b = new Billing(year);
|
||||||
await b.FinishSeason();
|
await b.FinishSeason();
|
||||||
@ -331,6 +345,7 @@ namespace Elwig.Windows {
|
|||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
Mouse.OverrideCursor = null;
|
Mouse.OverrideCursor = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -346,7 +361,8 @@ namespace Elwig.Windows {
|
|||||||
if (d.ShowDialog() == false)
|
if (d.ShowDialog() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
|
await Task.Run(async () => {
|
||||||
try {
|
try {
|
||||||
var b = new Billing(year);
|
var b = new Billing(year);
|
||||||
await b.FinishSeason();
|
await b.FinishSeason();
|
||||||
@ -364,6 +380,7 @@ namespace Elwig.Windows {
|
|||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
Mouse.OverrideCursor = null;
|
Mouse.OverrideCursor = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -379,7 +396,8 @@ namespace Elwig.Windows {
|
|||||||
if (d.ShowDialog() == false)
|
if (d.ShowDialog() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
|
await Task.Run(async () => {
|
||||||
try {
|
try {
|
||||||
var b = new Billing(year);
|
var b = new Billing(year);
|
||||||
await b.FinishSeason();
|
await b.FinishSeason();
|
||||||
@ -393,6 +411,7 @@ namespace Elwig.Windows {
|
|||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
Mouse.OverrideCursor = null;
|
Mouse.OverrideCursor = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -408,7 +427,8 @@ namespace Elwig.Windows {
|
|||||||
if (d.ShowDialog() == false)
|
if (d.ShowDialog() == false)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
Mouse.OverrideCursor = Cursors.Wait;
|
||||||
|
await Task.Run(async () => {
|
||||||
try {
|
try {
|
||||||
var b = new Billing(year);
|
var b = new Billing(year);
|
||||||
await b.FinishSeason();
|
await b.FinishSeason();
|
||||||
@ -422,6 +442,7 @@ namespace Elwig.Windows {
|
|||||||
} catch (Exception exc) {
|
} catch (Exception exc) {
|
||||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
Mouse.OverrideCursor = null;
|
Mouse.OverrideCursor = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user