Make methods in Utils async
This commit is contained in:
@ -7,6 +7,7 @@ using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Elwig.Helpers {
|
||||
public static class Utils {
|
||||
@ -86,13 +87,14 @@ namespace Elwig.Helpers {
|
||||
});
|
||||
}
|
||||
|
||||
public static bool MgNrExists(AppDbContext ctx, int mgnr) {
|
||||
return ctx.Members.Find(mgnr) != null;
|
||||
public static async Task<bool> MgNrExists(AppDbContext ctx, int mgnr) {
|
||||
return await ctx.Members.FindAsync(mgnr) != null;
|
||||
}
|
||||
|
||||
public static int NextMgNr(AppDbContext ctx) {
|
||||
int c = ctx.Members.Select(m => m.MgNr).Min();
|
||||
ctx.Members.OrderBy(m => m.MgNr).Select(m => m.MgNr).ToList().ForEach(a => { if (a <= c + 100) c = a; });
|
||||
public static async Task<int> NextMgNr(AppDbContext ctx) {
|
||||
int c = await ctx.Members.Select(m => m.MgNr).MinAsync();
|
||||
(await ctx.Members.OrderBy(m => m.MgNr).Select(m => m.MgNr).ToListAsync())
|
||||
.ForEach(a => { if (a <= c + 100) c = a; });
|
||||
return c + 1;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Controls;
|
||||
using Elwig.Models;
|
||||
|
||||
@ -265,7 +266,7 @@ namespace Elwig.Helpers {
|
||||
}
|
||||
|
||||
int nr = int.Parse(input.Text);
|
||||
if (nr != m?.MgNr && Utils.MgNrExists(ctx, nr)) {
|
||||
if (nr != m?.MgNr && Utils.MgNrExists(ctx, nr).GetAwaiter().GetResult()) {
|
||||
return new(false, "Mitgliedsnummer wird bereits verwendet");
|
||||
}
|
||||
|
||||
@ -278,7 +279,7 @@ namespace Elwig.Helpers {
|
||||
return res;
|
||||
} else if (!required && input.Text.Length == 0) {
|
||||
return new(true, null);
|
||||
} else if (!Utils.MgNrExists(ctx, int.Parse(input.Text))) {
|
||||
} else if (!Utils.MgNrExists(ctx, int.Parse(input.Text)).GetAwaiter().GetResult()) {
|
||||
return new(false, "Ein Mitglied mit dieser Mitgliedsnummer existiert nicht");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user