using System; namespace TMSDAL.DTO.Quiz { /// /// DTO for MQUIZ — standalone quiz engine (Quiz roadmap Phase 1), NOT programme-bound unlike /// MSESSIONASSESSMENT. Reuses the shared MQUESTIONBANK pool. /// QUIZMODE : 0 Instant (single question, immediate reply+evaluation) | 1 Structured (multi-section) /// SELECTIONMODE : 0 Fixed | 1 Random | 2 WeightedRandom (mirrors MASSESSMENTPAPER.SelectionMode) /// ISSHARED : 0 Client-specific | 1 Shared global (TenantId = -1) /// public class QuizDTO { public int QuizId { get; set; } public string QuizTitle { get; set; } = string.Empty; public string? QuizPurpose { get; set; } public int CourseId { get; set; } = -1; public int SubjectId { get; set; } = -1; public int TopicId { get; set; } = -1; public byte IsShared { get; set; } = 0; public byte QuizMode { get; set; } = 0; public byte SelectionMode { get; set; } = 1; public int TotalQuestions { get; set; } = 1; public short PassThresholdPct { get; set; } = 70; public short MaxAttempts { get; set; } = 3; public int TimeLimitMin { get; set; } = -1; public byte RandomiseQuestions { get; set; } = 0; public byte ShowAnswersOnComplete { get; set; } = 0; public byte IsAnonymous { get; set; } = 0; public int SourceModuleId { get; set; } = -1; public byte IsActive { get; set; } = 1; // Standard fields public short Version { get; set; } public byte Status { get; set; } public short SortOrder { get; set; } public byte SourceType { get; set; } public int TenantId { get; set; } public int CreatedById { get; set; } public DateTime CreatedOn { get; set; } public int ModifiedById { get; set; } public DateTime ModifiedOn { get; set; } } }