using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace YBEE.EQM.Core;

/// <summary>
/// 高中赋分转换等级
/// </summary>
public class NceeConvertGrade : IEntity
{
    /// <summary>
    /// 主键
    /// </summary>
    [Comment("主键")]
    [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
    public short Id { get; set; }
    /// <summary>
    /// 名称
    /// </summary>
    [Comment("名称")]
    [Required, StringLength(50)]
    public string Name { get; set; }

    /// <summary>
    /// 序
    /// </summary>
    [Comment("序")]
    [Required]
    public short Sequence { get; set; } = 0;

    /// <summary>
    /// 占比
    /// </summary>
    [Comment("占比")]
    [Required, Column(TypeName = "decimal(10, 8)")]
    public decimal Rate { get; set; }

    /// <summary>
    /// 起始比例
    /// </summary>
    [Comment("起始比例")]
    [Required, Column(TypeName = "decimal(10, 8)")]
    public decimal BeginRate { get; set; }
    /// <summary>
    /// 结束比例
    /// </summary>
    [Comment("结束比例")]
    [Required, Column(TypeName = "decimal(10, 8)")]
    public decimal EndRate { get; set; }

    /// <summary>
    /// 下限分数
    /// </summary>
    [Comment("下限分数")]
    [Required, Column(TypeName = "decimal(10, 2)")]
    public decimal MinScore { get; set; }
    /// <summary>
    /// 上限分数
    /// </summary>
    [Comment("上限分数")]
    [Required, Column(TypeName = "decimal(10, 2)")]
    public decimal MaxScore { get; set; }

    /// <summary>
    /// 备注
    /// </summary>
    [Comment("备注")]
    [StringLength(200)]
    public string Remark { get; set; }
}
