using Entities.Contracts; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml.Serialization; namespace Entities.DTO { public class AssignmentDto { public Guid Id { get; set; } = Guid.Empty; public string Title { get; set; } = string.Empty; public string Description { get; set; } = string.Empty; public byte TotalQuestions { get; set; } public float Score { get; set; } = 0; public SubjectAreaEnum SubjectArea { get; set; } = SubjectAreaEnum.Unknown; public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } public DateTime DueDate { get; set; } public Guid CreatorId { get; set; } public AssignmentQuestionDto ExamStruct { get; set; } = new AssignmentQuestionDto(); } public class AssignmentClassDto { public AssignmentDto Assignment { get; set; } public Class ClassId { get; set; } public DateTime AssignedAt { get; set; } } public class QuestionContextDto { public Guid Id { get; set; } = Guid.Empty; public string Description { get; set; } = string.Empty; } public class ExamDto { public Guid? AssignmentId { get; set; } public string CreaterEmail { get; set; } public string AssignmentTitle { get; set; } = string.Empty; public string Description { get; set; } public string SubjectArea { get; set; } public QuestionGroupDto ExamStruct { get; set; } = new QuestionGroupDto(); } public class QuestionGroupDto { public byte Index { get; set; } public string? Title { get; set; } public float Score { get; set; } public string? Descript { get; set; } public List SubQuestions { get; set; } = new List(); public List SubQuestionGroups { get; set; } = new List(); public bool ValidQuestionGroup { get; set; } = false; } public class SubQuestionDto { public byte Index { get; set; } public string? Stem { get; set; } public float Score { get; set; } public List Options { get; set; } = new List(); public string? SampleAnswer { get; set; } public string? QuestionType { get; set; } public string? DifficultyLevel { get; set; } public bool ValidQuestion { get; set; } = false; } public class OptionDto { public string? Value { get; set; } = string.Empty; } public static class ExamDtoExtension { public static void Convert(this ExamDto examDto) { var qg = examDto.ExamStruct; } public static void Convert(this QuestionGroupDto examDto) { if (examDto.ValidQuestionGroup) { } } } }