using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 添加试卷输入参数
/// </summary>
public class AddExamPaperInput
{
    /// <summary>
    /// 监测计划ID
    /// </summary>
    [Required]
    public int ExamPlanId { get; set; }
    /// <summary>
    /// 监测年级ID
    /// </summary>
    [Required]
    public int ExamGradeId { get; set; }
    /// <summary>
    /// 年级ID
    /// </summary>
    [Required]
    public short GradeId { get; set; }
    /// <summary>
    /// 监测科目ID
    /// </summary>
    [Required]
    public int ExamCourseId { get; set; }
    /// <summary>
    /// 科目ID
    /// </summary>
    [Required]
    public short CourseId { get; set; }
    /// <summary>
    /// 名称
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 总分
    /// </summary>
    [Required]
    public decimal Score { get; set; }
    /// <summary>
    /// 备注
    /// </summary>
    [StringLength(200)]
    public string Remark { get; set; } = "";
}
/// <summary>
/// 更新试卷输入参数
/// </summary>
public class UpdateExamPaperInput : BaseId
{
    /// <summary>
    /// 名称
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 总分
    /// </summary>
    [Required]
    public decimal Score { get; set; }
    /// <summary>
    /// 备注
    /// </summary>
    [StringLength(200)]
    public string Remark { get; set; } = "";
}
/// <summary>
/// 批量初始化试卷输入参数
/// </summary>
public class ExamPaperBatchInitInput
{
    public int ExamPlanId { get; set; }
}

/// <summary>
/// 分配试卷双向细目表或问题建议输入参数
/// </summary>
public class AssignExamPaperWriterInput
{
    /// <summary>
    /// 撰写人用户ID
    /// </summary>
    public int WriterSysUserId { get; set; }
    /// <summary>
    /// 试卷ID列表
    /// </summary>
    public List<int> Ids { get; set; }
}
/// <summary>
/// 分页查询试卷编撰监测计划输入参数
/// </summary>
public class ExamPaperExamPlanPageInput : ExamPlanPageInput
{
    /// <summary>
    /// 试卷编撰人员类型
    /// </summary>
    [Required]
    public ExamPaperWriterType WriterType { get; set; }
}
/// <summary>
/// 保存学科问题建议输入参数
/// </summary>
public class SaveExamPaperSuggestion : BaseId
{
    /// <summary>
    /// 问题
    /// </summary>
    [Required, StringLength(4000)]
    public string Questions { get; set; }
    /// <summary>
    /// 建议
    /// </summary>
    [Required, StringLength(4000)]
    public string Suggestions { get; set; }
}
