private List <TeamListViewModel> GetTeamsFromCmd(OleDbCommand cmd) { List <TeamListViewModel> teams = new List <TeamListViewModel>(); TeamListViewModel team = null; using (OleDbDataReader dbReader = cmd.ExecuteReader()) { int _playerName = dbReader.GetOrdinal("list_name"); int _playerNumber = dbReader.GetOrdinal("player_nr"); int _setsPlayed = dbReader.GetOrdinal("sets_played"); int _rating = dbReader.GetOrdinal("rating"); int _seasonYear = dbReader.GetOrdinal("season_year"); int _seasonPeriod = dbReader.GetOrdinal("season_period"); int _teamId = dbReader.GetOrdinal("team_id"); int _teamNumber = dbReader.GetOrdinal("team_number"); int _clubName = dbReader.GetOrdinal("club_name"); int _pouleCategory = dbReader.GetOrdinal("poule_category"); int _regionName = dbReader.GetOrdinal("region_name"); int _className = dbReader.GetOrdinal("class_name"); int _pouleName = dbReader.GetOrdinal("poule_name"); int _pouleId = dbReader.GetOrdinal("PouleId"); int _seasonId = dbReader.GetOrdinal("SeasonId"); int _classLevel = dbReader.GetOrdinal("class_level"); while (dbReader.Read()) { if (team == null || !team.teamId.Equals(dbReader.GetInt32(_teamId))) { team = new TeamListViewModel(); team.teamId = dbReader.GetInt32(_teamId); team.teamNumber = dbReader.GetInt32(_teamNumber); team.clubName = dbReader.GetString(_clubName); team.seasonId = dbReader.GetInt32(_seasonId); team.seasonYear = dbReader.GetInt32(_seasonYear); team.seasonPeriod = dbReader.GetInt32(_seasonPeriod); team.pouleId = dbReader.GetInt32(_pouleId); team.pouleName = dbReader.GetString(_pouleName); team.pouleCategory = dbReader.GetInt32(_pouleCategory); team.regionName = dbReader.GetString(_regionName); team.className = dbReader.GetString(_className); team.classLevel = dbReader.GetInt32(_classLevel); team.teamMembers = new List <TeamMemberListViewModel>(); teams.Add(team); } TeamMemberListViewModel teamMember = new TeamMemberListViewModel(); teamMember.playerName = dbReader.GetString(_playerName); teamMember.playerNumber = dbReader.GetString(_playerNumber); teamMember.setsPlayed = dbReader.GetInt32(_setsPlayed); teamMember.rating = dbReader.GetInt32(_rating); team.teamMembers.Add(teamMember); } } RatingService.CalculateTeamRatings(teams); return(teams); }