namespace FLSDAL.DTO.Survey; // No primary constructor (init-only properties) so this gets an implicit parameterless // constructor — see SurveyQuestionCoreRow for why nullable value-type columns require this // for Dapper materialization. public record SurveyInstQuestionRow { public int InstQuestionId { get; init; } public int InstrumentSectionId { get; init; } // maps to SectionId for grouping public int InstrumentConfigId { get; init; } public int QuestionId { get; init; } public int DisplayOrder { get; init; } // renamed from SlNo in DB public int IsRequiredOverride { get; init; } // 0=No, 1=Yes, 2=UseDefault public decimal Weight { get; init; } public int IsActive { get; init; } public string? BranchRulesJson { get; init; } // Joined from MSURVEYQUESTIONBANK public int QuestionTypeId { get; init; } public int IsRequired { get; init; } public int? ScaleMin { get; init; } public int? ScaleMax { get; init; } public int? ScaleStep { get; init; } public string? RatingLabelLow { get; init; } public string? RatingLabelHigh { get; init; } public int? TextMaxLength { get; init; } public int? TextMinLength { get; init; } public string? YesLabel { get; init; } public string? NoLabel { get; init; } public string? QuestionText { get; init; } // resolved for the requested LangCode }