using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; namespace QuestionsApi.Models; public class Question { [BsonId] [BsonRepresentation(BsonType.ObjectId)] public string? Id { get; set; } public string ExternalId { get; set; } = ""; public string Stem { get; set; } = ""; public string LeadIn { get; set; } = ""; public List Choices { get; set; } = []; public string CorrectChoiceId { get; set; } = ""; public string Explanation { get; set; } = ""; public Dictionary ChoiceExplanations { get; set; } = []; public Dictionary ChoiceSelectionPercentages { get; set; } = []; public string Discipline { get; set; } = ""; public string System { get; set; } = ""; public string PerformanceCategory { get; set; } = ""; public int Difficulty { get; set; } = 1; public List Labs { get; set; } = []; public List Media { get; set; } = []; public List Tags { get; set; } = []; public bool IsPublished { get; set; } = true; public DateTime CreatedUtc { get; set; } = DateTime.UtcNow; public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow; } public class QuestionChoice { public string Id { get; set; } = ""; public string Text { get; set; } = ""; } public class QuestionLab { public string Name { get; set; } = ""; public string Value { get; set; } = ""; public string Unit { get; set; } = ""; public string Reference { get; set; } = ""; }