RemoveTask converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-10-08 13:33:22 -07:00
parent fca359bf51
commit 1a4b794ce4

View File

@ -2981,40 +2981,29 @@ void ClientTaskState::CancelTask(Client *c, int SequenceNumber, bool RemoveFromD
RemoveTask(c, SequenceNumber); RemoveTask(c, SequenceNumber);
} }
void ClientTaskState::RemoveTask(Client *c, int SequenceNumber) { void ClientTaskState::RemoveTask(Client *c, int sequenceNumber) {
int CharacterID = c->CharacterID(); int characterID = c->CharacterID();
_log(TASKS__UPDATE, "ClientTaskState Cancel Task %i ", sequenceNumber);
char errbuf[MYSQL_ERRMSG_SIZE]; std::string query = StringFormat("DELETE FROM character_activities WHERE charid=%i AND taskid = %i",
char* query = 0; characterID, ActiveTasks[sequenceNumber].TaskID);
auto results = database.QueryDatabase(query);
const char *TaskQuery="DELETE FROM character_tasks WHERE charid=%i AND taskid = %i"; if(!results.Success()) {
LogFile->write(EQEMuLog::Error, "[TASKS]Error in CientTaskState::CancelTask %s", results.ErrorMessage().c_str());
const char *ActivityQuery="DELETE FROM character_activities WHERE charid=%i AND taskid = %i";
_log(TASKS__UPDATE, "ClientTaskState Cancel Task %i ", SequenceNumber);
if(!database.RunQuery(query,MakeAnyLenString(&query, ActivityQuery,
CharacterID,
ActiveTasks[SequenceNumber].TaskID), errbuf)) {
LogFile->write(EQEMuLog::Error, "[TASKS]Error in CientTaskState::CancelTask %s", errbuf);
safe_delete_array(query);
return; return;
} }
_log(TASKS__UPDATE, "CancelTask: %s", query); _log(TASKS__UPDATE, "CancelTask: %s", query.c_str());
safe_delete_array(query);
if(!database.RunQuery(query,MakeAnyLenString(&query, TaskQuery,
CharacterID,
ActiveTasks[SequenceNumber].TaskID), errbuf)) {
LogFile->write(EQEMuLog::Error, "[TASKS]Error in CientTaskState::CancelTask %s", errbuf); query = StringFormat("DELETE FROM character_tasks WHERE charid=%i AND taskid = %i",
} characterID, ActiveTasks[sequenceNumber].TaskID);
results = database.QueryDatabase(query);
if(!results.Success())
LogFile->write(EQEMuLog::Error, "[TASKS]Error in CientTaskState::CancelTask %s", results.ErrorMessage().c_str());
_log(TASKS__UPDATE, "CancelTask: %s", query); _log(TASKS__UPDATE, "CancelTask: %s", query.c_str());
safe_delete_array(query);
ActiveTasks[SequenceNumber].TaskID = TASKSLOTEMPTY; ActiveTasks[sequenceNumber].TaskID = TASKSLOTEMPTY;
ActiveTaskCount--; ActiveTaskCount--;
} }