using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 年级输出参数
/// </summary>
public class GradeOutput
{
    /// <summary>
    /// 主键
    /// </summary>
    [Required]
    public short Id { get; set; }
    /// <summary>
    /// 学段
    /// </summary>
    [Required]
    public EducationStage EducationStage { get; set; }
    /// <summary>
    /// 年级号
    /// </summary>
    [Required]
    public short GradeNumber { get; set; }
    /// <summary>
    /// 年级号2
    /// </summary>
    [Required]
    public short GradeNumber2 { get; set; }
    /// <summary>
    /// 名称
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 名称2
    /// </summary>
    [Required]
    public string Name2 { get; set; }
    /// <summary>
    /// 全称
    /// </summary>
    [Required]
    public string FullName { get; set; }
    /// <summary>
    /// 简称
    /// </summary>
    [Required]
    public string ShortName { get; set; }

    /// <summary>
    /// 备注
    /// </summary>
    public string Remark { get; set; } = "";
    /// <summary>
    /// 状态
    /// </summary>
    [Required]
    public CommonStatus Status { get; set; }
}
/// <summary>
/// 年级学制输出参数
/// </summary>
public class GradeYearOutput
{
    /// <summary>
    /// 主键
    /// </summary>
    [Required]
    public short Id { get; set; }
    /// <summary>
    /// 学段
    /// </summary>
    [Required]
    public EducationStage EducationStage { get; set; }
    /// <summary>
    /// 年级号
    /// </summary>
    [Required]
    public short GradeNumber { get; set; }
    /// <summary>
    /// 年级号2
    /// </summary>
    [Required]
    public short GradeNumber2 { get; set; }
    /// <summary>
    /// 名称
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 名称2
    /// </summary>
    [Required]
    public string Name2 { get; set; }
    /// <summary>
    /// 全称
    /// </summary>
    [Required]
    public string FullName { get; set; }
    /// <summary>
    /// 年份（级）
    /// </summary>
    [Required]
    public short GradeBeginYear { get; set; }
    /// <summary>
    /// 年份（届）
    /// </summary>
    [Required]
    public short GradeEndYear { get; set; }
    /// <summary>
    /// 级名
    /// </summary>
    [Required]
    public string GradeBeginName { get { return $"{GradeBeginYear}级"; } }
    /// <summary>
    /// 届名
    /// </summary>
    [Required]
    public string GradeEndName { get { return $"{GradeEndYear}届"; } }
    /// <summary>
    /// 级全名
    /// </summary>
    [Required]
    public string GradeBeginFullName { get { return $"{FullName}（{GradeBeginName}）"; } }
    /// <summary>
    /// 届全名
    /// </summary>
    [Required]
    public string GradeEndFullName { get { return $"{FullName}（{GradeEndName}）"; } }
    /// <summary>
    /// 学制（共几年）
    /// </summary>
    [Required]
    public short EducationYears { get; set; }
}