Exemple #1
0
        public LearniningCapacity GetStudentLearnCapacity(string _studentID, int _grade, int _semester = 3)
        {
            ScoreDA scoreDA = new ScoreDA();

            double[]           scoreLimit         = { 8.0, 6.5, 5.0, 3.5, 2.0 };
            LearniningCapacity learniningCapacity = new LearniningCapacity();

            learniningCapacity.type = (AbstractLearn.Type)(_semester - 1);
            List <AverageScore> averageScores = new List <AverageScore>();
            bool success = scoreDA.GetAverageScore(_studentID, _grade, averageScores);

            if (!success)
            {
                return(null);
            }
            int result = 5;

            if (averageScores[_semester - 1].Value == -1)
            {
                learniningCapacity.LearnCapacity = LearniningCapacity.HocLuc.ChuaXet;
                return(learniningCapacity);
            }
            else
            {
                for (int i = 0; i < scoreLimit.Length; i++)
                {
                    if (averageScores[_semester - 1].Value >= scoreLimit[i])
                    {
                        result = i;
                        break;
                    }
                }
                if (result < 4)
                {
                    //xét điều kiện điểm từng môn
                    List <Score> subjectScore = new List <Score>();
                    //cả năm
                    if (_semester > 2)
                    {
                        List <Score> subjectScore2 = new List <Score>();
                        scoreDA.GetAllAverageSubjectScore(_studentID, _grade, 1, subjectScore);
                        scoreDA.GetAllAverageSubjectScore(_studentID, _grade, 2, subjectScore2);
                        for (int i = 0; i < subjectScore.Count; i++)
                        {
                            subjectScore[i].Value = (subjectScore[i].Value + subjectScore2[i].Value) / 2;
                            if (subjectScore[i].Value < scoreLimit[result + 1])
                            {
                                result++;
                                break;
                            }
                        }
                    }
                    else
                    {
                        scoreDA.GetAllAverageSubjectScore(_studentID, _grade, _semester, subjectScore);
                        for (int i = 0; i < subjectScore.Count; i++)
                        {
                            if (subjectScore[i].Value < scoreLimit[result + 1])
                            {
                                result++;
                                break;
                            }
                        }
                    }
                }
            }
            learniningCapacity.LearnCapacity = (LearniningCapacity.HocLuc)result;
            return(learniningCapacity);
        }
Exemple #2
0
 public ScoreController()
 {
     scoreDA   = new ScoreDA();
     subjectDA = new SubjectDA();
 }