using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EMISOnline.ViewModel.Cache;

namespace EMISOnline.ViewModel.SystemView
{
    public class UserView
    {
        /// <summary>
        /// UserID
        /// </summary>
        public System.Guid UserID { get; set; }
        /// <summary>
        /// LoginID
        /// </summary>
        public string LoginID { get; set; }
        /// <summary>
        /// Name
        /// </summary>
        public string Name { get; set; }
        public Guid? UniversityID { get; set; }
        public Guid? CampusID { get; set; }
        public Guid? CollegeID { get; set; }
        public string CollegeName { get; set; }
        public Guid? DepartmentID { get; set; }
        public string DepartmentName { get; set; }
        public string HierarchyID { get; set; }
        public Guid? StaffID { get; set; }
        public Guid? StudentID { get; set; }
        public DateTime? BirthDate { get; set; }
        public int? Sex { get; set; }
        public string SexDesc
        {
            get
            {
                return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Sex.ToString())
                    .Where(x => x.Value == Sex)
                    .Select(x => x.Name).FirstOrDefault();
            }
        }
        public Guid? RoleID { get; set; }
        public string RoleName { get; set; }
        public int? DataRange { get; set; }
        public string DataRangeDesc
        {
            get
            {
                return IdNameExt.GetDictionaryItem(DictionaryItem.SYS_DataRange.ToString())
                    .Where(x => x.Value == DataRange)
                    .Select(x => x.Name).FirstOrDefault();
            }
        }
        public string Remarks { get; set; }
        /// <summary>
        /// RecordStatus
        /// </summary>
        public Nullable<int> RecordStatus { get; set; }
        public string RecordStatusDesc
        {
            get
            {
                return IdNameExt.GetDictionaryItem(DictionaryItem.SYS_STATUS.ToString())
                    .Where(x => x.Value == RecordStatus)
                    .Select(x => x.Name).FirstOrDefault();
            }
        }
        /// <summary>
        /// CreateUserID
        /// </summary>
        public Nullable<System.Guid> CreateUserID { get; set; }
        public string CreateUserName { get; set; }
        /// <summary>
        /// CreateTime
        /// </summary>
        public Nullable<System.DateTime> CreateTime { get; set; }
        /// <summary>
        /// ModifyUserID
        /// </summary>
        public Nullable<System.Guid> ModifyUserID { get; set; }
        public string ModifyUserName { get; set; }
        /// <summary>
        /// ModifyTime
        /// </summary>
        public Nullable<System.DateTime> ModifyTime { get; set; }
    }
}