YAPOG  0.0.1
Yet Another Pokemon Online Game
PokemonUpdateRequest.cpp
Go to the documentation of this file.
1 #include "YAPOG/Database/DatabaseStream.hpp"
3 
4 namespace yse
5 {
7  (const PokemonTable& pokemonTable)
8  : pokemonTable_ (pokemonTable)
9  {
10  }
11 
13  (yap::DatabaseManager& databaseManager)
14  {
15  yap::String query_string =
16  "UPDATE pokemon "
17  "SET "
18  "account_id = :accountID, "
19  "pokemon_static_id = :staticID, "
20  "pokemon_experience = :experience, "
21  "pokemon_gender = :gender, "
22  "pokemon_nickname = :nickname, "
23  "pokemon_shiny = :shiny, "
24  "pokemon_loyalty = :loyalty, "
25  "pokemon_nature = :nature, "
26  "pokemon_trading_number = :tradingNumber, "
27  "pokemon_trader_account_id = :traderAccountID, "
28  "pokemon_box_number = :boxNumber, "
29  "pokemon_box_index = :boxInder, "
30  "pokemon_box_catch_date = :catchDate "
31  "WHERE pokemon_id = :pokemonID";
32 
33  yap::DatabaseStream query
34  (query_string, databaseManager.GetConnection ());
35 
36  query.Write (pokemonTable_.accountID_.GetValue ());
37  query.Write (pokemonTable_.staticID_);
38  query.Write (pokemonTable_.experience_);
39  query.Write (static_cast<yap::UInt8>(pokemonTable_.gender_));
40  query.Write (pokemonTable_.nickname_);
41  query.Write (pokemonTable_.shiny_);
42  query.Write (pokemonTable_.loyalty_);
43  query.Write (pokemonTable_.nature_);
44  query.Write (pokemonTable_.tradingNumber_);
45  query.Write (pokemonTable_.traderAccountID_);
46  query.Write (pokemonTable_.boxNumber_);
47  query.Write (pokemonTable_.boxIndex_);
48  query.Write (pokemonTable_.catchDate_);
49 
50  if (query.AffectedRows () == 1)
51  return true;
52  else
54  "An error occurs during the update of a Pokemon's tuple."
55  "Any tuple seems to be concerned by this update !");
56  }
57 
58 } // namespace yse