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

namespace YBEE.EQM.Core;

/// <summary>
/// 高中科目有效分
/// </summary>
public class NceeCourseLineScore : IEntity
{
    /// <summary>
    /// 主键
    /// </summary>
    [Comment("主键")]
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    /// <summary>
    /// 高中分析计划ID
    /// </summary>
    [Comment("高中分析计划ID")]
    [Required]
    public int NceePlanId { get; set; }
    /// <summary>
    /// 划线等级
    /// </summary>
    [Comment("划线等级")]
    [Required, Column(TypeName = "smallint")]
    public NceeLineLevel NceeLineLevel { get; set; }
    /// <summary>
    /// 首选科目ID
    /// </summary>
    [Comment("首选科目ID")]
    public short DirectionCourseId { get; set; }
    /// <summary>
    /// 科目ID
    /// </summary>
    [Comment("科目ID")]
    [Required]
    public short CourseId { get; set; }
    /// <summary>
    /// 原始划线分
    /// </summary>
    [Comment("原始划线分")]
    [Required, Column(TypeName = "decimal(10, 2)")]
    public decimal LineScore { get; set; } = 0;
    /// <summary>
    /// 赋分划线分
    /// </summary>
    [Comment("赋分划线分")]
    [Required, Column(TypeName = "decimal(10, 2)")]
    public decimal LineScoreX { get; set; } = 0;
}
