Show critical branch details in web lookup

This commit is contained in:
2026-03-14 10:54:52 +01:00
parent 60c5d886a4
commit a2b3a049b8
5 changed files with 74 additions and 0 deletions

View File

@@ -46,6 +46,15 @@ public sealed record CriticalLookupRequest(
int Roll,
string? Group);
public sealed record CriticalBranchLookupResponse(
string BranchKind,
string? ConditionKey,
string ConditionText,
string Description,
string? AffixText,
string RawText,
int SortOrder);
public sealed record CriticalLookupResponse(
string CriticalType,
string CriticalTableName,
@@ -64,6 +73,7 @@ public sealed record CriticalLookupResponse(
string RawCellText,
string Description,
string? AffixText,
IReadOnlyList<CriticalBranchLookupResponse> Branches,
string ParseStatus,
string ParsedJson);

View File

@@ -105,6 +105,7 @@ public sealed class LookupService(IDbContextFactory<RolemasterDbContext> dbConte
return await dbContext.CriticalResults
.AsNoTracking()
.AsSplitQuery()
.Where(item =>
item.CriticalTable.Slug == criticalType &&
item.CriticalColumn.ColumnKey == column &&
@@ -131,6 +132,17 @@ public sealed class LookupService(IDbContextFactory<RolemasterDbContext> dbConte
item.RawCellText,
item.DescriptionText,
item.RawAffixText,
item.Branches
.OrderBy(branch => branch.SortOrder)
.Select(branch => new CriticalBranchLookupResponse(
branch.BranchKind,
branch.ConditionKey,
branch.ConditionText,
branch.DescriptionText,
branch.RawAffixText,
branch.RawText,
branch.SortOrder))
.ToList(),
item.ParseStatus,
item.ParsedJson))
.SingleOrDefaultAsync(cancellationToken);