]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv-2.0/libgameservgldl/src/DataLayer/MySQL/MySQLId.cpp
Wrote some initial MySQLDAO objects, but they're not complete
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / src / DataLayer / MySQL / MySQLId.cpp
index 5ef46ee19507b4aea7bf17a31969b3dc759c37c9..548ff45093bf4744dd3456dfd92e40084a5be8fa 100644 (file)
@@ -26,14 +26,22 @@ MySQLId::~MySQLId()
 {\r
 }\r
 \r
-string MySQLId::CreatePlayerId(const string &Name)\r
+string MySQLId::CreatePlayerId(const unsigned long long &Number)\r
 {\r
-       return Name;\r
+       return lexical_cast<string>(Number);\r
 }\r
 \r
-string MySQLId::GetNameFromPlayerId(const string &Id)\r
+unsigned long long MySQLId::GetPlayerNumberFromId(const string &Id)\r
 {\r
-       return Id;\r
+       try\r
+       {\r
+               return lexical_cast<unsigned long long>(Id);\r
+       }\r
+       catch (bad_lexical_cast)\r
+       {\r
+               throw GameServException(str(format("Improperly formatted Player ID: %1%") % Id),\r
+                       __FILE__, __LINE__);\r
+       }\r
 }\r
 \r
 string MySQLId::CreateItemId(const unsigned long long &Number)\r
@@ -45,7 +53,7 @@ unsigned long long MySQLId::GetItemNumberFromId(const string &Id)
 {\r
        try\r
        {\r
-               return lexical_cast<unsigned int>(Id);\r
+               return lexical_cast<unsigned long long>(Id);\r
        }\r
        catch (bad_lexical_cast)\r
        {\r
@@ -53,21 +61,33 @@ unsigned long long MySQLId::GetItemNumberFromId(const string &Id)
        }\r
 }\r
 \r
-string MySQLId::CreateMonsterId(const string &LevelId, const string &Name)\r
+string MySQLId::CreateMonsterId(const unsigned long long &Number)\r
 {\r
-       return str(format("%1%:%2%") % LevelId % Name);\r
+       return lexical_cast<string>(Number);\r
 }\r
 \r
-string MySQLId::CreateLevelId(const unsigned int &Number)\r
+unsigned long long MySQLId::GetMonsterNumberFromId(const string &Id)\r
+{\r
+       try\r
+       {\r
+               return lexical_cast<unsigned long long>(Id);\r
+       }\r
+       catch (bad_lexical_cast)\r
+       {\r
+               throw GameServException(str(format("Improperly formatted Monster ID: %1%") % Id), __FILE__, __LINE__);\r
+       }\r
+}\r
+\r
+string MySQLId::CreateLevelId(const unsigned long long &Number)\r
 {\r
        return lexical_cast<string>(Number);\r
 }\r
 \r
-unsigned int MySQLId::GetLevelNumberFromId(const string &Id)\r
+unsigned long long MySQLId::GetLevelNumberFromId(const string &Id)\r
 {\r
        try\r
        {\r
-               return lexical_cast<unsigned int>(Id);\r
+               return lexical_cast<unsigned long long>(Id);\r
        }\r
        catch (bad_lexical_cast)\r
        {\r
@@ -75,7 +95,19 @@ unsigned int MySQLId::GetLevelNumberFromId(const string &Id)
        }\r
 }\r
 \r
-string MySQLId::CreateMasterId(const unsigned int &LevelNumber, const string &Name)\r
+string MySQLId::CreateMasterId(const unsigned long long &Number)\r
+{\r
+       return lexical_cast<string>(Number);\r
+}\r
+\r
+unsigned long long MySQLId::GetMasterNumberFromId(const string &Id)\r
 {\r
-       return str(format("%1%:%2%") % LevelNumber % Name);\r
+       try\r
+       {\r
+               return lexical_cast<unsigned long long>(Id);\r
+       }\r
+       catch (bad_lexical_cast)\r
+       {\r
+               throw GameServException(str(format("Improperly formatted Master ID: %1%") % Id), __FILE__, __LINE__);\r
+       }\r
 }
\ No newline at end of file