예제 #1
0
        /*This method creates GroupDetails with random data.
         * Firstly, it takes list of all programs of the college.
         * Then, it takes two random numbers (one to choose program name from the list, another one - for semester number).
         * When we get program number (random number to choose program from the list),
         * we get all courses of this programs and put them into "courses" LinkedList.
         * After that, we create GroupDetails object via getGroupDetails function giving randomly chosen data to it.
         */
        public GroupDetails createGroupDetails()
        {
            Random              rand     = new Random();
            List <String>       programs = new List <String>(college.getPrograms().Keys);
            int                 semNum   = rand.Next(1, 5);
            int                 progNum  = rand.Next(programs.Count);
            LinkedList <Course> courses  = college.getPrograms()[programs[progNum]];

            return(GroupDetails.getGroupDetails(semNum, courses, programs[progNum]));
        }
예제 #2
0
        /*This method returns GroupDetails objects
         * It checks if hash set already has GroupDetails object with given semester number
         * and program name (courses are not checked because GroupDetails college can contain student groups
         * which have the same program names, but differs by semester number. Also, if student groups have the
         * same program number, they have the same course list. This all mean that group details can differ with
         * program name and semester number only)
         */
        public static GroupDetails getGroupDetails(int semesterNumber, LinkedList <Course> courses, string programName)
        {
            foreach (GroupDetails item in detailsList)
            {
                if (item.semesterNumber == semesterNumber && item.programName.Equals(programName))
                {
                    return(item);
                }
            }

            GroupDetails newDetails = new GroupDetails(semesterNumber, courses, programName);

            detailsList.Add(newDetails);
            return(newDetails);
        }
예제 #3
0
 public StudentGroup(LinkedList <Student> students, GroupDetails details)
 {
     this.students = students;
     groupNumber   = groupNumberCounter++;
     this.details  = details;
 }