using CMS.Plugin.HIAWms.Domain.Shared.Enums;
using CMS.Plugin.HIAWms.Domain.Shared.TestStudent;
using CMS.Plugin.MyExtension.Domain;
using CmsQueryExtensions.Extension;
using MathNet.Numerics;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using System.ComponentModel.DataAnnotations;
using Volo.Abp;
using Volo.Abp.Domain.Entities.Auditing;
namespace CMS.Plugin.HIAWms.Domain.TestStudent
{
    /// 
    /// TestStudent
    /// 
    public class TestStudent : MyFullAuditedAggregateRoot
    {
        /// 
        /// 重复性校验方式
        /// 
        /// 
        [Comment("重复性校验方式")]
        [Column("WorkingHours",)]
        [SugarColumn(ColumnName = "RepCheckType", ColumnDescription = "重复性校验方式")]
        public string? RepCheckType { get; set; }
        /// 
        /// 老师ID(可空)
        /// 
        [SugarColumn(ColumnName = "TeacherId", ColumnDescription = "老师ID(可空)")]
        public long? TeacherId { get; set; }
        /// 
        /// 老师名字(可空)
        /// 
        [SugarColumn(ColumnName = "TeacherName", ColumnDescription = "老师名字(可空)")]
        public string? TeacherName { get; set; }
        /// 
        /// 学生姓名
        /// 
        [Required]
        [SugarColumn(ColumnName = "Name", ColumnDescription = "学生姓名", Length = 2000)]
        public string Name { get; set; }
        /// 
        /// 别名(可空)
        /// 
        [SugarColumn(ColumnName = "AliName", ColumnDescription = "别名(可空)", Length = 2000)]
        public string? AliName { get; set; }
        /// 
        /// 学生年龄
        /// 
        [Required]
        [SugarColumn(ColumnName = "Age", ColumnDescription = "学生年龄")]
        public int Age { get; set; }
        /// 
        /// 年纪(可空)
        /// 
        [SugarColumn(ColumnName = "NianJi", ColumnDescription = "年纪(可空)")]
        public int? NianJi { get; set; }
        /// 
        /// 校长ID(可空)
        /// 
        [SugarColumn(ColumnName = "RectorId", ColumnDescription = "校长ID(可空)")]
        public long? RectorId { get; set; }
        /// 
        /// 零花钱
        /// 
        [Required]
        [SugarColumn(ColumnName = "HasMoney", ColumnDescription = "零花钱", Length = 10, DecimalDigits = 3)]
        public decimal HasMoney { get; set; }
        /// 
        /// 身价(可空)
        /// 
        [SugarColumn(ColumnName = "ShenJia", ColumnDescription = "身价(可空)", Length = 10, DecimalDigits = 3)]
        public decimal? ShenJia { get; set; }
        /// 
        /// 是否在校
        /// 
        [Required]
        [SugarColumn(ColumnName = "IsInSchool", ColumnDescription = "是否在校")]
        public bool IsInSchool { get; set; }
        /// 
        /// 是否外地人(可空)
        /// 
        [SugarColumn(ColumnName = "IsWDR", ColumnDescription = "是否外地人(可空)")]
        public bool? IsWDR { get; set; }
        /// 
        /// 性别
        /// 
        [Required]
        [SugarColumn(ColumnName = "Gender", ColumnDescription = "性别")]
        public GenderEnum Gender { get; set; }
        /// 
        /// 其他性别(可空)
        /// 
        [SugarColumn(ColumnName = "OtherGender", ColumnDescription = "其他性别(可空)")]
        public GenderEnum? OtherGender { get; set; }
        /// 
        /// 出生日期
        /// 
        [Required]
        [SugarColumn(ColumnName = "BrithDate", ColumnDescription = "出生日期")]
        public DateTime BrithDate { get; set; }
        /// 
        /// 入学日期(可空)
        /// 
        [SugarColumn(ColumnName = "InSchoolDate", ColumnDescription = "入学日期(可空)")]
        public DateTime? InSchoolDate { get; set; }
    }
}