DeliveryAdminWindow is now able to look at deliveries

This commit is contained in:
2023-07-13 21:10:48 +02:00
parent e8919cc629
commit fd26ee4f52
7 changed files with 390 additions and 55 deletions

View File

@ -160,7 +160,7 @@ namespace Elwig.Models {
[NotMapped]
public IEnumerable<AreaCom> ActiveAreaCommitments => AreaCommitments
.Where(c => c.YearFrom <= Utils.CurrentSeason && (c.YearTo ?? int.MaxValue) >= Utils.CurrentSeason);
.Where(c => c.YearFrom <= Utils.CurrentNextSeason && (c.YearTo ?? int.MaxValue) >= Utils.CurrentNextSeason);
[InverseProperty("Member")]
public virtual BillingAddr? BillingAddress { get; private set; }
@ -174,32 +174,12 @@ namespace Elwig.Models {
public string FullAddress => $"{Address}, {PostalDest.AtPlz.Plz} {PostalDest.AtPlz.Ort.Name}";
public int SearchScore(IEnumerable<string> keywords) {
keywords = keywords.Where(s => s.Length >= 2 || (s.Length > 0 && s.All(c => char.IsAsciiDigit(c))));
if (!keywords.Any())
return 0;
string?[] check = new string?[] {
return Utils.GetSearchScore(new string?[] {
MgNr.ToString(),
FamilyName.ToLower(), MiddleName?.ToLower(), GivenName.ToLower(),
BillingAddress?.Name.ToLower(),
Comment?.ToLower(),
};
int i = 0;
foreach (string? c in check) {
if (c == null) continue;
var parts = c.Split(" ");
if (keywords.Any(f => c == f)) {
i += 100;
} else if (keywords.Any(f => parts.Any(a => a == f))) {
i += 90;
} else if (keywords.Any(f => parts.Any(a => a.StartsWith(f)))) {
i += 50;
} else if (keywords.Any(f => f != null && c.Contains(f))) {
i += 1;
}
}
return i;
FamilyName, MiddleName, GivenName,
BillingAddress?.Name,
Comment,
}, keywords);
}
}
}