using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 监测教师输出参数
/// </summary>
public class ExamTeacherOutput
{
    /// <summary>
    /// 主键
    /// </summary>
    [Required]
    public int Id { get; set; }
    /// <summary>
    /// 监测计划ID
    /// </summary>
    [Required]
    public int ExamPlanId { get; set; }
    /// <summary>
    /// 机构ID
    /// </summary>
    [Required]
    public short SysOrgId { get; set; }

    /// <summary>
    /// 姓名
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 学校职位ID
    /// </summary>
    [Required]
    public SchoolJobTitle SchoolJobTitle { get; set; }
    /// <summary>
    /// 证件类型
    /// </summary>
    [Required]
    public CertificateType CertificateType { get; set; }
    /// <summary>
    /// 证件号码
    /// </summary>
    public string IdNumber { get; set; }
    /// <summary>
    /// 出生日期
    /// </summary>
    public DateTime? BirthDate { get; set; }
    /// <summary>
    /// 性别
    /// </summary>
    [Required]
    public Gender Gender { get; set; }
    /// <summary>
    /// 手机号码
    /// </summary>
    public string Mobile { get; set; }
    /// <summary>
    /// 电子邮箱
    /// </summary>
    public string Email { get; set; }
    /// <summary>
    /// 备注
    /// </summary>
    public string Remark { get; set; }
}

/// <summary>
/// 批量导入监测教师输入参数
/// </summary>
public class UploadExamTeacherOutput: UploadExamDataBase
{
    /// <summary>
    /// 姓名
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 校内职务ID
    /// </summary>
    [Required]
    public SchoolJobTitle SchoolJobTitle { get; set; } = SchoolJobTitle.TEACHER;
    /// <summary>
    /// 校内职务名称
    /// </summary>
    public string SchoolJobTitleName { get; set; } = "";
    /// <summary>
    /// 证件类型
    /// </summary>
    [Required]
    public CertificateType CertificateType { get; set; }
    /// <summary>
    /// 证件类型名称
    /// </summary>
    public string CertificateTypeName { get; set; } = "";
    /// <summary>
    /// 证件号码
    /// </summary>
    public string IdNumber { get; set; } = "";
    /// <summary>
    /// 性别
    /// </summary>
    public Gender? Gender { get; set; } = Core.Gender.UNKNOWN;
    /// <summary>
    /// 性别名称
    /// </summary>
    public string GenderName { get; set; } = "";
    /// <summary>
    /// 手机号码
    /// </summary>
    public string Mobile { get; set; }
    /// <summary>
    /// 电子邮箱
    /// </summary>
    public string Email { get; set; }
    /// <summary>
    /// 备注
    /// </summary>
    public string Remark { get; set; }
}