using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

namespace EMIS.ViewModel.SelectCourse
{
    public class SelectCourseTypeSettingView
    {
        /// <summary>
        /// 类型设定ID
        /// </summary>
        [DisplayName("类型设定ID")]
        public System.Guid SelectCourseTypeSettingID { get; set; }

        /// <summary>
        /// 学年学期
        /// </summary>
        [Required]
        [DisplayName("学年学期")]
        public Nullable<System.Guid> SchoolyearID { get; set; }

        /// <summary>
        /// 学年学期
        /// </summary>
        public string SchoolyearCode { get; set; }

        /// <summary>
        /// 选修类型
        /// </summary>
        [Required]
        [DisplayName("选修类型")]
        public Nullable<int> SelectCourseTypeID { get; set; }

        /// <summary>
        /// 选修类型
        /// </summary>
        public string SelectCourseTypeDesc { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        [Required]
        [DisplayName("开始时间")]
        public Nullable<System.DateTime> StartTime { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        [Required]
        [DisplayName("结束时间")]
        public Nullable<System.DateTime> EndTime { get; set; }

        /// <summary>
        /// 门数下限
        /// </summary>
        [Required]
        [DisplayName("门数下限")]
        [RegularExpression(@"^[0-9]\d*$", ErrorMessage = "必须填写正整数")]
        public int? MinSelectCount { get; set; }

        /// <summary>
        /// 门数上限
        /// </summary>
        [Required]
        [DisplayName("门数上限")]
        [RegularExpression(@"^[0-9]\d*$", ErrorMessage = "必须填写正整数")]
        public int? MaxSelectCount { get; set; }

        /// <summary>
        /// 学分下限
        /// </summary>
        [Required]
        [DisplayName("学分下限")]
        public Nullable<decimal> MinCredit { get; set; }

        /// <summary>
        /// 学分上限
        /// </summary>
        [Required]
        [DisplayName("学分上限")]
        public Nullable<decimal> MaxCredit { get; set; }
        
        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        public string Remark { get; set; }

        /// <summary>
        /// RecordStatus
        /// </summary>
        public Nullable<int> RecordStatus { get; set; }

        /// <summary>
        /// 是否可用
        /// </summary>
        public string RecordStatusDesc { get; set; }

        /// <summary>
        /// CreateTime
        /// </summary>
        public Nullable<System.DateTime> CreateTime { get; set; }

        /// <summary>
        /// CreateUserID
        /// </summary>
        public Nullable<System.Guid> CreateUserID { get; set; }

        /// <summary>
        /// ModifyUserID
        /// </summary>
        public Nullable<System.Guid> ModifyUserID { get; set; }

        /// <summary>
        /// ModifyTime
        /// </summary>
        public Nullable<System.DateTime> ModifyTime { get; set; }
    }
}