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

namespace EMIS.ViewModel.SelectCourse.SelectCourseResult
{
    public class StudentSelectCourseSummaryView : StudentSelectCourseBaseView
    {
        public StudentSelectCourseSummaryView(StudentSelectCourseBaseView baseView)
        {
            this.UserID = baseView.UserID;
            this.Name = baseView.Name;
            this.ClassmajorID = baseView.ClassmajorID;
            this.ClassmajorName = baseView.ClassmajorName;
            this.GrademajorID = baseView.GrademajorID;
            this.GrademajorName = baseView.GrademajorName;
            this.GrademajorYear = baseView.GrademajorYear;
            this.OptionalTotalSelectCount = baseView.OptionalTotalSelectCount;
            this.FreeSelectCourseTotalSelectCount = baseView.FreeSelectCourseTotalSelectCount;
            this.OptionalTotalCredit = baseView.OptionalTotalCredit;
            this.FreeSelectCourseTotalCredit = baseView.FreeSelectCourseTotalCredit;
            this.InSchoolStatusID = baseView.InSchoolStatusID;
        }

        /// <summary>
        /// 是否在校
        /// </summary>
        [DisplayName("是否在校")]
        public bool isInSchool { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        [DisplayName("开始时间")]
        public DateTime? OptionalStartTime { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        [DisplayName("结束时间")]
        public DateTime? OptionalEndTime { get; set; }

        /// <summary>
        /// 门数下限
        /// </summary>
        [DisplayName("门数下限")]
        public int? OptionalMinSelectCount { get; set; }

        /// <summary>
        /// 门数上限
        /// </summary>
        [DisplayName("门数上限")]
        public int? OptionalMaxSelectCount { get; set; }

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

        /// <summary>
        /// 学分上限
        /// </summary>
        [DisplayName("学分上限")]
        public decimal? OptionalMaxCredit { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        [DisplayName("开始时间")]
        public DateTime? FreeSelectCourseStartTime { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        [DisplayName("结束时间")]
        public DateTime? FreeSelectCourseEndTime { get; set; }

        /// <summary>
        /// 门数下限
        /// </summary>
        [DisplayName("门数下限")]
        public int? FreeSelectCourseMinSelectCount { get; set; }

        /// <summary>
        /// 门数上限
        /// </summary>
        [DisplayName("门数上限")]
        public int? FreeSelectCourseMaxSelectCount { get; set; }

        /// <summary>
        /// 学分下限
        /// </summary>
        [DisplayName("学分下限")]
        public decimal? FreeSelectCourseMinCredit { get; set; }
        
        /// <summary>
        /// 学分上限
        /// </summary>
        [DisplayName("学分上限")]
        public decimal? FreeSelectCourseMaxCredit { get; set; }

        
        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级专业开选时间")]
        public DateTime? GrademajorStartTime { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级专业结束时间")]
        public DateTime? GrademajorEndTime { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级专业门数上限")]
        public int? GrademajorMaxSelectCount { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级专业门数下限")]
        public int? GrademajorMinSelectCount { get; set; }
        
        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级专业学分上限")]
        public decimal? GrademajorMaxCredit { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级专业学分下限")]
        public decimal? GrademajorMinCredit { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级开选时间")]
        public DateTime? GradeYearStartTime { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级结束时间")]
        public DateTime? GradeYearEndTime { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级门数上限")]
        public int? GradeYearMaxSelectCount { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级门数下限")]
        public int? GradeYearMinSelectCount { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级学分上限")]
        public decimal? GradeYearMaxCredit { get; set; }

        /// <summary>
        /// 
        /// </summary>
        [DisplayName("年级学分下限")]
        public decimal? GradeYearMinCredit { get; set; }

    }
}