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

namespace EMIS.ViewModel.DQPSystem
{
    public class SOCDetailRawScoreView
    {
        public Guid? SOCID { get; set; }
        public Guid? SchoolyearID { get; set; }
        public string SchoolyearCode { get; set; }
        public Guid? CoursematerialID { get; set; }
        public string CourseCode { get; set; }
        public string CourseName { get; set; }
        public Guid? DepartmentID { get; set; }
        public Guid? CollegeID { get; set; }
        public decimal? TotalCredit { get; set; }
        public Guid? ClassmajorID { get; set; }
        public string ClassmajorNo { get; set; }
        public string ClassmajorName { get; set; }
        public int? Gradeyear { get; set; }
        public int? StandardID { get; set; }
        public string StandardDesc
        {
            get
            {
                return IdNameExt.GetDictionaryItem(DictionaryItem.CF_Standard.ToString())
                    .Where(x => x.Value == StandardID)
                    .Select(x => x.Name).FirstOrDefault();
            }
        }
        public Guid? UserID { get; set; }
        public string LoginID { get; set; }
        public string Name { get; set; }
        public Guid? SOCDetailID { get; set; }
        public string SOCDetailName { get; set; }
        public decimal? SOCDetailCredit { get; set; }
        public decimal? Weight { get; set; }
        public decimal? Score { get; set; }
        public decimal? Credit { get; set; }
        public decimal? ActualScore
        {
            get
            {
                if (Score.HasValue)
                {
                    return ((Score ?? 0) * (Weight ?? 0)) / 100;
                }
                else
                {
                    return null;
                }
            }
        }
        public DateTime? CreateTime { get; set; }
        public Guid? CreateUserID { get; set; }
        public string CreateUserName { get; set; }
    }
}