using Exam.Infrastructure.Data.Entity;
using Exam.Infrastructure.Data.Interface;
using Exam.Infrastructure.Enums;
using Hotline.Share.Exams.Interface;
using System.ComponentModel;

namespace Hotline.Share.Dtos.ExamManages
{
    [Description("用户考试明细选项")]
    public class UserExamItemOptionDto : UpdateUserExamItemOptionDto
    {
        /// <summary>
        /// 选项内容
        /// </summary>
        [Description("选项内容")]
        public string Content { get; set; }

        /// <summary>
        /// 选项题标
        /// </summary>
        [Description("选项题标")]
        public string Label { get; set; }
    }

    [Description("阅卷选项")]
    public class GradingUserExamItemOptionDto : UserExamItemOptionDto
    {
        /// <summary>
        /// 是否答案
        /// </summary>
        [Description("是否答案")]
        public bool IsAnswer { get; set; }

        /// <summary>
        /// 是否选中
        /// </summary>
        [Description("是否选中")]
        public bool IsSelected { get; set; }
    }

    public class AddUserExamItemOptionDto : IAddRequest, IOperationStatus
    {
        /// <summary>
        /// 用户考试明细Id
        /// </summary>
        [Description("用户考试明细Id")]
        public string UserExamItemId { get; set; }

        /// <summary>
        /// 试题选项Id
        /// </summary>
        [Description("试题选项Id")]
        public string QuestionOptionId { get; set; }

        /// <summary>
        /// 操作状态
        /// </summary>
        [Description("操作状态")]
        public EEOperationStatus OperationStatus { get; set; }
    }

    public class UpdateUserExamItemOptionDto : AddUserExamItemOptionDto, IActionRequest
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Description("主键")]
        public string Id { get; set; }
    }
}
