예제 #1
0
void GameDB::update(Reference<Game> gameRef, const Game& newGame) {
  auto oldGame = *read(gameRef);
  DataStore::update(gameRef, newGame);

  // Remove our indexing of the old game
  auto teams = getTeams(oldGame);
  deleteGame(teamToGames[teams.first], teams.second, gameRef);
  deleteGame(teamToGames[teams.second], teams.first, gameRef);

  // Add indexing of the new game
  teams = getTeams(newGame);
  insertSingleGameEntry(teams.first, teams.second, gameRef);
  insertSingleGameEntry(teams.second, teams.first, gameRef);
}
예제 #2
0
Reference<Game> GameDB::create(Game game) {
  auto gameRef = DataStore::create(game);
  auto teams = getTeams(game);
  insertSingleGameEntry(teams.first, teams.second, gameRef);
  insertSingleGameEntry(teams.second, teams.first, gameRef);
  return gameRef;
}
예제 #3
0
void GameDB::destroy(Reference<Game> gameRef) {
  auto game = *read(gameRef);
  auto teams = getTeams(game);
  deleteGame(teamToGames[teams.first], teams.second, gameRef);
  deleteGame(teamToGames[teams.second], teams.first, gameRef);
  DataStore::destroy(gameRef);
}
예제 #4
0
		/* Retrieves teams for given team ID */
		Team getTeam(std::string teamID)
		{
			std::vector<std::string> id;
			id.push_back(teamID);
			return getTeams(id)[teamID];
		}