134 lines
3.2 KiB
C#
134 lines
3.2 KiB
C#
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 AssignmentStructDto
|
|
{
|
|
public Guid Id { get; set; } = Guid.Empty;
|
|
public string Title { get; set; } = string.Empty;
|
|
public string Description { get; set; } = string.Empty;
|
|
public float Score { get; set; } = 0;
|
|
public byte Index { get; set; } = 0;
|
|
public Layout Layout { get; set; } = Layout.horizontal;
|
|
|
|
|
|
|
|
|
|
public ICollection<AssignmentQuestionDto> AssignmentQuestions { get; set; } = new List<AssignmentQuestionDto>();
|
|
|
|
public AssignmentStructDto? ParentStruct { get; set; }
|
|
public ICollection<AssignmentStructDto> ChildrenGroups { get; set; } = new List<AssignmentStructDto>();
|
|
}
|
|
|
|
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 AssignmentStructDto ExamStruct { get; set; } = new AssignmentStructDto();
|
|
}
|
|
|
|
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<SubQuestionDto> SubQuestions { get; set; } = new List<SubQuestionDto>();
|
|
public List<QuestionGroupDto> SubQuestionGroups { get; set; } = new List<QuestionGroupDto>();
|
|
|
|
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<OptionDto> Options { get; set; } = new List<OptionDto>();
|
|
|
|
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)
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|