namespace RolemasterDb.App.Domain;

public sealed class CriticalResult
{
    public int Id { get; set; }
    public int CriticalTableId { get; set; }
    public int? CriticalGroupId { get; set; }
    public int CriticalColumnId { get; set; }
    public int CriticalRollBandId { get; set; }
    public bool IsCurated { get; set; }
    public string RawCellText { get; set; } = string.Empty;
    public string DescriptionText { get; set; } = string.Empty;
    public string? RawAffixText { get; set; }
    public string ParsedJson { get; set; } = "{}";
    public string ParseStatus { get; set; } = "verified";
    public int? SourcePageNumber { get; set; }
    public string? SourceImagePath { get; set; }
    public string? SourceImageCropJson { get; set; }
    public CriticalTable CriticalTable { get; set; } = null!;
    public CriticalGroup? CriticalGroup { get; set; }
    public CriticalColumn CriticalColumn { get; set; } = null!;
    public CriticalRollBand CriticalRollBand { get; set; } = null!;
    public List<CriticalBranch> Branches { get; set; } = [];
    public List<CriticalEffect> Effects { get; set; } = [];
}
