/// <summary> /// Gets the role that the student is to be assigned /// </summary> /// <returns>Student Role</returns> public StudentRole GetAvailableStudentRole() { var adminSystemRoleName = GetStudentRoleBySystemName(SystemStudentRoleNames.Administrators); var query = from c in _studentRepository.Table orderby c.Id where (c.StudentRoles.Any(r => r.SystemName != adminSystemRoleName.SystemName)) select c; return(GetStudentRoleBySystemName(!NumericHelper.IsOdd(query.Count()) ? SystemStudentRoleNames.Game : SystemStudentRoleNames.Traditional)); }