using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 批量导入各科总成绩类型
/// </summary>
public class ExamScoreImportDto
{
    /// <summary>
    /// 行号
    /// </summary>
    public int RowNumber { get; set; }
    /// <summary>
    /// 监测抽样类型
    /// </summary>
    public ExamSampleType SampleType { get; set; }
    /// <summary>
    /// 学校ID
    /// </summary>
    public short SysOrgId { get; set; }
    /// <summary>
    /// 校区ID
    /// </summary>
    public short? SysOrgBranchId { get; set; }
    /// <summary>
    /// 学生姓名
    /// </summary>
    public string StudentName { get; set; }
    /// <summary>
    /// 证件类型
    /// </summary>
    public CertificateType CertificateType { get; set; }
    /// <summary>
    /// 证件号码
    /// </summary>
    public string IdNumber { get; set; }
    /// <summary>
    /// 性别
    /// </summary>
    public short Gender { get; set; } = 0;
    /// <summary>
    /// 考号（监测号）
    /// </summary>
    public string ExamNumber { get; set; }
    /// <summary>
    /// 年级号
    /// </summary>
    public short GradeNumber { get; set; }
    /// <summary>
    /// 年级ID
    /// </summary>
    public short GradeId { get; set; }
    /// <summary>
    /// 入学年份
    /// </summary>
    public short GradeBeginYear { get; set; }
    /// <summary>
    /// 毕业年份
    /// </summary>
    public short GradeEndYear { get; set; }
    /// <summary>
    /// 监测年级ID
    /// </summary>
    public int ExamGradeId { get; set; }
    /// <summary>
    /// 班级号
    /// </summary>
    public short ClassNumber { get; set; }
    /// <summary>
    /// 班级ID
    /// </summary>
    public long SchoolClassId { get; set; }
    /// <summary>
    /// 选科组合
    /// </summary>
    public short? NceeCourseCombId { get; set; }
    /// <summary>
    /// 科目ID
    /// </summary>
    public short CourseId { get; set; }
    /// <summary>
    /// 成绩
    /// </summary>
    public decimal Score { get; set; } = 0;
    /// <summary>
    /// 是否排除
    /// </summary>
    public bool IsExcluded { get; set; } = false;
    /// <summary>
    /// 是否特殊学生
    /// </summary>
    public bool IsSpecial { get; set; } = false;
    /// <summary>
    /// 是否缺考
    /// </summary>
    public bool IsAbsent { get; set; } = false;
    /// <summary>
    /// 备注
    /// </summary>
    public string Remark { get; set; } = "";
}

/// <summary>
/// 小题成绩导入文件信息
/// </summary>
public class ExamScoreMinorFileInfo
{
    public ExamSampleType ExamSampleType { get; set; }
    public short GradeId { get; set; }
    public Grade Grade { get; set; }
    public short CourseId { get; set; }
    public Course Course { get; set; }
    public string FilePath { get; set; }
}

public class ExamScoreMinorImportDto
{
    public short SysOrgId { get; set; } = 0;
    public long ExamStudentId { get; set; } = 0;
    public int ExamPaperQuestionMinorId { get; set; } = 0;
    public decimal Score { get; set; } = 0;
    public decimal StarScore { get; set; } = 0;
}
