/*  代码由框架生成,任何更改都可能导致被代码生成器覆盖，可自行修改。
* Ghre_Course.cs
*
*功 能： N / A
* 类 名： Ghre_Course
*
* Ver    变更日期 负责人  变更内容
* ───────────────────────────────────
*V0.01  2024/6/7 10:21:28  SimonHsiao   初版
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*┌──────────────────────────────────┐
*│　此技术信息为本公司机密信息，未经本公司书面同意禁止向第三方披露．　│
*│　作者：SimonHsiao                                                  │
*└──────────────────────────────────┘
*/ 
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Tiobon.Core.Model.Models
{

    /// <summary>
    /// 课程 (Dto.Base)
    /// </summary>
    public class Ghre_CourseBase
    {

        /// <summary>
        /// 课程编号
        /// </summary>
        [Display(Name = "CourseNo"), Description("课程编号"), MaxLength(32, ErrorMessage = "课程编号 不能超过 32 个字符")]
        public string CourseNo { get; set; }

        /// <summary>
        /// 课程名称
        /// </summary>
        [Display(Name = "CourseName"), Description("课程名称"), MaxLength(32, ErrorMessage = "课程名称 不能超过 32 个字符")]
        public string CourseName { get; set; }

        /// <summary>
        /// 课程分类ID
        /// </summary>
        public long? CourseClassId { get; set; }

        /// <summary>
        /// 课程分类ID
        /// </summary>
        public long? CourseClassId2 { get; set; }

        /// <summary>
        /// 课程场景ID
        /// </summary>
        public long? CourseSceneId { get; set; }

        /// <summary>
        /// 课件ID
        /// </summary>
        [Display(Name = "CourseWareId"), Description("课件ID"), MaxLength(2000, ErrorMessage = "课件ID 不能超过 2000 个字符")]
        public string CourseWareId { get; set; }

        /// <summary>
        /// 标准工时
        /// </summary>
        public int? StandardHour { get; set; }

        /// <summary>
        /// 学分
        /// </summary>
        public int? CreditPoints { get; set; }

        /// <summary>
        /// 课程负责人
        /// </summary>
        public long? ManagerId { get; set; }

        /// <summary>
        /// 课程负责人部门ID
        /// </summary>
        public long? ManagerDeptId { get; set; }

        /// <summary>
        /// 内/外训
        /// </summary>
        [Display(Name = "InOrOut"), Description("内/外训"), MaxLength(32, ErrorMessage = "内/外训 不能超过 32 个字符")]
        public string InOrOut { get; set; }

        /// <summary>
        /// 讲师ID
        /// </summary>
        public long? TeacherId { get; set; }

        /// <summary>
        /// 讲师部门ID
        /// </summary>
        public long? TeacherDeptId { get; set; }

        /// <summary>
        /// 培训机构ID
        /// </summary>
        public long? SchoolId { get; set; }

        /// <summary>
        /// 培训机构讲师ID
        /// </summary>
        public long? SchoolTeacherId { get; set; }

        /// <summary>
        /// 市场价格
        /// </summary>
        [Display(Name = "Price"), Description("市场价格"), Column(TypeName = "decimal(20,2)")]
        public decimal? Price { get; set; }

        /// <summary>
        /// 收费方式,天数、时间、项目
        /// </summary>
        [Display(Name = "ChargeMethod"), Description("收费方式,天数、时间、项目"), MaxLength(32, ErrorMessage = "收费方式,天数、时间、项目 不能超过 32 个字符")]
        public string ChargeMethod { get; set; }

        /// <summary>
        /// 是否公开课
        /// </summary>
        public bool? IsOPen { get; set; }

        /// <summary>
        /// 培训有效期（月）
        /// </summary>
        public int? ValidityPeriod { get; set; }

        /// <summary>
        /// 试卷ID
        /// </summary>
        [Display(Name = "ExamPaperId"), Description("试卷ID"), MaxLength(2000, ErrorMessage = "试卷ID 不能超过 2000 个字符")]
        public string ExamPaperId { get; set; }

        /// <summary>
        /// 反馈单ID
        /// </summary>
        public long? FeedbackOrderId { get; set; }

        /// <summary>
        /// 封面图
        /// </summary>
        [Display(Name = "CoverUrl"), Description("封面图"), MaxLength(2000, ErrorMessage = "封面图 不能超过 2000 个字符")]
        public string CoverUrl { get; set; }

        /// <summary>
        /// 课程大纲
        /// </summary>
        [Display(Name = "Outline"), Description("课程大纲"), MaxLength(2000, ErrorMessage = "课程大纲 不能超过 2000 个字符")]
        public string Outline { get; set; }

        /// <summary>
        /// 课前准备
        /// </summary>
        [Display(Name = "BeforeReady"), Description("课前准备"), MaxLength(2000, ErrorMessage = "课前准备 不能超过 2000 个字符")]
        public string BeforeReady { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [Display(Name = "Status"), Description("状态"), MaxLength(32, ErrorMessage = "状态 不能超过 32 个字符")]
        public string Status { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [Display(Name = "RemarkSz"), Description("备注"), MaxLength(2000, ErrorMessage = "备注 不能超过 2000 个字符")]
        public string RemarkSz { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int? SortNo { get; set; }

        /// <summary>
        /// 默认标志
        /// </summary>
        public int? IsDefault { get; set; }

        /// <summary>
        /// 预留字段1
        /// </summary>
        [Display(Name = "Reverse1"), Description("预留字段1"), MaxLength(1000, ErrorMessage = "预留字段1 不能超过 1000 个字符")]
        public string Reverse1 { get; set; }

        /// <summary>
        /// 预留字段2
        /// </summary>
        [Display(Name = "Reverse2"), Description("预留字段2"), MaxLength(1000, ErrorMessage = "预留字段2 不能超过 1000 个字符")]
        public string Reverse2 { get; set; }

        /// <summary>
        /// 预留字段3
        /// </summary>
        [Display(Name = "Reverse3"), Description("预留字段3"), MaxLength(1000, ErrorMessage = "预留字段3 不能超过 1000 个字符")]
        public string Reverse3 { get; set; }

        /// <summary>
        /// 预留字段4
        /// </summary>
        [Display(Name = "Reverse4"), Description("预留字段4"), MaxLength(1000, ErrorMessage = "预留字段4 不能超过 1000 个字符")]
        public string Reverse4 { get; set; }

        /// <summary>
        /// 预留字段5
        /// </summary>
        [Display(Name = "Reverse5"), Description("预留字段5"), MaxLength(1000, ErrorMessage = "预留字段5 不能超过 1000 个字符")]
        public string Reverse5 { get; set; }

        /// <summary>
        /// 预留字段6
        /// </summary>
        [Display(Name = "Reverse6"), Description("预留字段6"), MaxLength(1000, ErrorMessage = "预留字段6 不能超过 1000 个字符")]
        public string Reverse6 { get; set; }

        /// <summary>
        /// 预留字段7
        /// </summary>
        [Display(Name = "Reverse7"), Description("预留字段7"), MaxLength(1000, ErrorMessage = "预留字段7 不能超过 1000 个字符")]
        public string Reverse7 { get; set; }

        /// <summary>
        /// 预留字段8
        /// </summary>
        [Display(Name = "Reverse8"), Description("预留字段8"), MaxLength(1000, ErrorMessage = "预留字段8 不能超过 1000 个字符")]
        public string Reverse8 { get; set; }

        /// <summary>
        /// 预留字段9
        /// </summary>
        [Display(Name = "Reverse9"), Description("预留字段9"), MaxLength(1000, ErrorMessage = "预留字段9 不能超过 1000 个字符")]
        public string Reverse9 { get; set; }

        /// <summary>
        /// 预留字段10
        /// </summary>
        [Display(Name = "Reverse10"), Description("预留字段10"), MaxLength(1000, ErrorMessage = "预留字段10 不能超过 1000 个字符")]
        public string Reverse10 { get; set; }

        /// <summary>
        /// 预留字段11
        /// </summary>
        public int? ReverseI1 { get; set; }

        /// <summary>
        /// 预留字段12
        /// </summary>
        public int? ReverseI2 { get; set; }
    }
}
