using Admin.NET.Core;
using System.ComponentModel.DataAnnotations;
namespace Admin.NET.Application;
    /// 
    /// 测试学生表基础输入参数
    /// 
    public class TestStudentBaseInput
    {
        /// 
        /// 重复性校验方式
        /// 
        public virtual string RepCheckType { get; set; }
        
        /// 
        /// 老师ID(可空)
        /// 
        public virtual long? TeacherId { get; set; }
        
        /// 
        /// 老师名字(可空)
        /// 
        public virtual string TeacherName { get; set; }
        
        /// 
        /// 学生姓名
        /// 
        public virtual string Name { get; set; }
        
        /// 
        /// 别名(可空)
        /// 
        public virtual string AliName { get; set; }
        
        /// 
        /// 学生年龄
        /// 
        public virtual int Age { get; set; }
        
        /// 
        /// 年纪(可空)
        /// 
        public virtual int? NianJi { get; set; }
        
        /// 
        /// 校长ID(可空)
        /// 
        public virtual long? RectorId { get; set; }
        
        /// 
        /// 零花钱
        /// 
        public virtual decimal HasMoney { get; set; }
        
        /// 
        /// 身价(可空)
        /// 
        public virtual decimal? ShenJia { get; set; }
        
        /// 
        /// 是否在校
        /// 
        public virtual bool IsInSchool { get; set; }
        
        /// 
        /// 是否外地人(可空)
        /// 
        public virtual bool? IsWDR { get; set; }
        
        /// 
        /// 性别
        /// 
        public virtual Admin.NET.Core.GenderEnum Gender { get; set; }
        
        /// 
        /// 其他性别(可空)
        /// 
        public virtual Admin.NET.Core.GenderEnum? OtherGender { get; set; }
        
        /// 
        /// 出生日期
        /// 
        public virtual DateTime BrithDate { get; set; }
        
        /// 
        /// 入学日期(可空)
        /// 
        public virtual DateTime? InSchoolDate { get; set; }
        
        /// 
        /// 创建时间
        /// 
        public virtual DateTime? CreateTime { get; set; }
        
        /// 
        /// 更新时间
        /// 
        public virtual DateTime? UpdateTime { get; set; }
        
        /// 
        /// 创建人Id
        /// 
        public virtual long? CreateUserId { get; set; }
        
        /// 
        /// 创建人
        /// 
        public virtual string CreateUserName { get; set; }
        
        /// 
        /// 修改人Id
        /// 
        public virtual long? UpdateUserId { get; set; }
        
        /// 
        /// 修改人
        /// 
        public virtual string UpdateUserName { get; set; }
        
        /// 
        /// 软删除
        /// 
        public virtual bool IsDelete { get; set; }
        
    }
    /// 
    /// 测试学生表分页查询输入参数
    /// 
    public class TestStudentInput : BasePageInput
    {
        /// 
        /// 关键字查询
        /// 
        public string? SearchKey { get; set; }
        /// 
        /// 重复性校验方式
        /// 
        public string? RepCheckType { get; set; }
        
        /// 
        /// 老师ID(可空)
        /// 
        public long? TeacherId { get; set; }
        
        /// 
        /// 老师名字(可空)
        /// 
        public string? TeacherName { get; set; }
        
        /// 
        /// 学生姓名
        /// 
        public string? Name { get; set; }
        
        /// 
        /// 别名(可空)
        /// 
        public string? AliName { get; set; }
        
        /// 
        /// 学生年龄
        /// 
        public int? Age { get; set; }
        
        /// 
        /// 年纪(可空)
        /// 
        public int? NianJi { get; set; }
        
        /// 
        /// 校长ID(可空)
        /// 
        public long? RectorId { get; set; }
        
        /// 
        /// 零花钱
        /// 
        public decimal? HasMoney { get; set; }
        
        /// 
        /// 身价(可空)
        /// 
        public decimal? ShenJia { get; set; }
        
        /// 
        /// 是否在校
        /// 
        public bool? IsInSchool { get; set; }
        
        /// 
        /// 是否外地人(可空)
        /// 
        public bool? IsWDR { get; set; }
        
        /// 
        /// 性别
        /// 
        public Admin.NET.Core.GenderEnum? Gender { get; set; }
        
        /// 
        /// 其他性别(可空)
        /// 
        public Admin.NET.Core.GenderEnum? OtherGender { get; set; }
        
        /// 
        /// 出生日期
        /// 
        public DateTime? BrithDate { get; set; }
        
        /// 
         /// 出生日期范围
         /// 
         public List BrithDateRange { get; set; } 
        /// 
        /// 入学日期(可空)
        /// 
        public DateTime? InSchoolDate { get; set; }
        
        /// 
         /// 入学日期(可空)范围
         /// 
         public List InSchoolDateRange { get; set; } 
    }
    /// 
    /// 测试学生表增加输入参数
    /// 
    public class AddTestStudentInput : TestStudentBaseInput
    {
        /// 
        /// 学生姓名
        /// 
        [Required(ErrorMessage = "学生姓名不能为空")]
        public override string Name { get; set; }
        
        /// 
        /// 学生年龄
        /// 
        [Required(ErrorMessage = "学生年龄不能为空")]
        public override int Age { get; set; }
        
        /// 
        /// 零花钱
        /// 
        [Required(ErrorMessage = "零花钱不能为空")]
        public override decimal HasMoney { get; set; }
        
        /// 
        /// 是否在校
        /// 
        [Required(ErrorMessage = "是否在校不能为空")]
        public override bool IsInSchool { get; set; }
        
        /// 
        /// 性别
        /// 
        [Required(ErrorMessage = "性别不能为空")]
        public override Admin.NET.Core.GenderEnum Gender { get; set; }
        
        /// 
        /// 出生日期
        /// 
        [Required(ErrorMessage = "出生日期不能为空")]
        public override DateTime BrithDate { get; set; }
        
        /// 
        /// 软删除
        /// 
        [Required(ErrorMessage = "软删除不能为空")]
        public override bool IsDelete { get; set; }
        
    }
    /// 
    /// 测试学生表删除输入参数
    /// 
    public class DeleteTestStudentInput : BaseIdInput
    {
    }
    /// 
    /// 测试学生表更新输入参数
    /// 
    public class UpdateTestStudentInput : AddTestStudentInput
    {
        /// 
        /// 主键Id
        /// 
        [Required(ErrorMessage = "主键Id不能为空")]
        public long Id { get; set; }
        
    }
    /// 
    /// 测试学生表主键查询输入参数
    /// 
    public class QueryByIdTestStudentInput : DeleteTestStudentInput
    {
    }