Add critical cell reparse comparison review

This commit is contained in:
2026-03-15 12:07:50 +01:00
parent 203fed6315
commit b002a94523
11 changed files with 451 additions and 18 deletions

View File

@@ -27,6 +27,7 @@ public sealed class CriticalCellEditorModel
public List<string> ValidationMessages { get; set; } = [];
public List<CriticalEffectEditorModel> Effects { get; set; } = [];
public List<CriticalBranchEditorModel> Branches { get; set; } = [];
public CriticalCellComparisonState? GeneratedState { get; set; }
public static CriticalCellEditorModel FromResponse(CriticalCellEditorResponse response) =>
new()
@@ -52,7 +53,8 @@ public sealed class CriticalCellEditorModel
AreBranchesOverridden = response.AreBranchesOverridden,
ValidationMessages = response.ValidationMessages.ToList(),
Effects = response.Effects.Select(CriticalEffectEditorModel.FromItem).ToList(),
Branches = response.Branches.Select(CriticalBranchEditorModel.FromItem).ToList()
Branches = response.Branches.Select(CriticalBranchEditorModel.FromItem).ToList(),
GeneratedState = response.GeneratedState
};
public CriticalCellUpdateRequest ToRequest()
@@ -83,6 +85,34 @@ public sealed class CriticalCellEditorModel
};
}
public CriticalCellEditorModel Clone() =>
new()
{
ResultId = ResultId,
TableSlug = TableSlug,
TableName = TableName,
SourceDocument = SourceDocument,
RollBand = RollBand,
GroupKey = GroupKey,
GroupLabel = GroupLabel,
ColumnKey = ColumnKey,
ColumnLabel = ColumnLabel,
ColumnRole = ColumnRole,
RawCellText = RawCellText,
DescriptionText = DescriptionText,
RawAffixText = RawAffixText,
ParseStatus = ParseStatus,
ParsedJson = ParsedJson,
IsDescriptionOverridden = IsDescriptionOverridden,
IsRawAffixTextOverridden = IsRawAffixTextOverridden,
AreEffectsOverridden = AreEffectsOverridden,
AreBranchesOverridden = AreBranchesOverridden,
ValidationMessages = ValidationMessages.ToList(),
Effects = Effects.Select(effect => effect.Clone()).ToList(),
Branches = Branches.Select(branch => branch.Clone()).ToList(),
GeneratedState = GeneratedState
};
private static string ResolveParseStatus(
IReadOnlyList<CriticalEffectEditorModel> effects,
IReadOnlyList<CriticalBranchEditorModel> branches) =>