Exemple #1
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            List <ValidationResult> validationResults = new List <ValidationResult>();

            // 檢查教學方式
            if (!(IsBlackboard || IsBook || IsPPT || IsBuild || IsInteractive))
            {
                validationResults.Add(new ValidationResult("請選擇老師教學方式"));
            }

            // 檢查點名
            if (RollCallFrequency == 0 && (ByInPerson || BySignInSheet || ByOnline || ByClasswork || ByTest))
            {
                validationResults.Add(new ValidationResult("老師不點名為什麼要選點名方式?"));
            }
            else if (RollCallFrequency > 0 && !(ByInPerson || BySignInSheet || ByOnline || ByClasswork || ByTest))
            {
                validationResults.Add(new ValidationResult("請選擇老師點名方式"));
            }

            // 檢查作業與考試
            if (!(HaveClasswork || HaveTest || HaveMidtermExam || HaveFinalExam))
            {
                validationResults.Add(new ValidationResult("請選擇作業與考試"));
            }

            // 檢查備註說明長度
            if (Remark.GetUTF8BytesCount() > 450)
            {
                validationResults.Add(new ValidationResult("備註長度限制為 450 半形字元以內,請縮短後再重新提交"));
            }

            // 檢查總評價
            if (Grade <= 0)
            {
                validationResults.Add(new ValidationResult("老師至少值得一分吧?"));
            }
            else if (Grade >= 6)
            {
                validationResults.Add(new ValidationResult("最多五分不能再高囉!"));
            }

            return(validationResults);
        }