using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using EMIS.ViewModel.CacheManage;

namespace EMIS.ViewModel.ScoreManage
{
    public class NotPassStudentView
    {
        /// <summary>
        /// 学生ID
        /// </summary>
        [DisplayName("学生ID")]
        public Guid? UserID { get; set; }

        /// <summary>
        /// 学号
        /// </summary>
        [DisplayName("学号")]
        public string LoginID { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        [DisplayName("姓名")]
        public string UserName { get; set; }

        /// <summary>
        /// 教学点
        /// </summary>
        [Display(ResourceType = typeof(EMIS.Resources.DataAnnotations.Label), Name = "Campus")]
        public Guid? CampusID { get; set; }

        /// <summary>
        /// 教学点名称
        /// </summary>
        [Display(ResourceType = typeof(EMIS.Resources.DataAnnotations.Label), Name = "CampusName")]
        public string CampusName { get; set; }

        /// <summary>
        ///  年级
        /// </summary>
        [DisplayName("年级")]
        public int? Years { get; set; }

        /// <summary>
        /// 标准专业
        /// </summary>
        [DisplayName("标准专业")]
        public int? StandardID { get; set; }

        /// <summary>
        /// 专业代码
        /// </summary>
        [DisplayName("专业代码")]
        public string StandardCode
        {
            get
            {
                var inistStandardCode = IdNameExt.GetDictionaryItem(DictionaryItem.CF_Standard.ToString())
                    .Where(x => x.Value == StandardID)
                    .Select(x => x.Code).FirstOrDefault();
                return (inistStandardCode != null ? inistStandardCode.PadLeft(6, '0') : "");
            }
        }

        /// <summary>
        /// 标准专业名称
        /// </summary>
        [DisplayName("专业名称")]
        public string StandardName
        {
            get
            {
                return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Standard.ToString())
                    .Where(x => x.Value == StandardID)
                    .Select(x => x.Name).FirstOrDefault();
            }
        }

        /// <summary>
        /// 班级名称
        /// </summary>
        [Required]
        [DisplayName("班级名称")]
        public Guid? ClassMajorID { get; set; }

        /// <summary>
        /// 班级编号
        /// </summary>
        [DisplayName("班级编号")]
        public string ClassMajorCode { get; set; }

        /// <summary>
        /// 班级名称
        /// </summary>
        [DisplayName("班级名称")]
        public string ClassMajorName { get; set; }

        /// <summary>
        /// 不及格门数
        /// </summary>
        [DisplayName("不及格门数")]
        public int NotPassCount { get; set; }

    }
}