Beispiel #1
0
        // Set a grade for a currently enrolled applicant
        public void EnterMark(Applicant applicant, int mark)
        {
            // Check for errors before entering a grade
            // Applicant may have already passed exam or not be enrolled on it

            if (GradeArchive.ContainsKey(applicant) == true) //passed, so not currrently enrolled
            {
                AlreadyPassedException apException = new AlreadyPassedException(applicant.RegNo);
                throw (apException);
            }
            else if (EnrolledApplicants.ContainsKey(applicant.RegNo) == false) //not currently enrolled
            {
                NotEnrolledException neException = new NotEnrolledException(applicant.RegNo);
                throw (neException);
            }
            else
            {
                // Add Applicant to the Dictionary
                EnrolledApplicants.Add(applicant.RegNo, applicant);

                // Get the Applicant to add this ForceService to its 'enrolled' List
                applicant.AddForceService(this);


                ResultInput ri = new ResultInput(this, applicant, mark);

                // If applicant has passed the exam
                if (mark >= AppData.PASSMARK)
                {
                    // Add the ResultInput and its associated Applicant
                    // to the GradeArchive dictionary.
                    GradeArchive.Add(applicant, ri);

                    // Remove Applicant from the currentlyEnrolled dictionary
                    EnrolledApplicants.Remove(applicant.RegNo);

                    // Get the Applicant to remove Exam/ForceService course from its 'enrolled' list
                    applicant.DropForceService(this);
                }
            }
        }
 // Add the candidate grade to the result
 public void AddResultInput(ResultInput ri)
 {
     ResultInputs.Add(ri);
 }