From 0064d0dd4e1be77714d60c4548294abd73391137 Mon Sep 17 00:00:00 2001 From: Max Kusatz Date: Mon, 19 Oct 2020 13:53:27 +0200 Subject: further working on Mensa function --- include/GetEssen.hpp | 2 +- src/GetEssen.cpp | 24 +++++++++++++++++++----- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/include/GetEssen.hpp b/include/GetEssen.hpp index b53c028..06aafe2 100644 --- a/include/GetEssen.hpp +++ b/include/GetEssen.hpp @@ -30,7 +30,7 @@ namespace Handler { }; - bool db_update_mensa_message(const int &mensaID, const ptime &mensaDatum, const string &message); + bool db_update_mensa_message(const int &mensaID, const ptime &mensaDatum, const std::vector &message); bool db_insert_mensa_message(const int &mensaID, const ptime &mensaDatum, const string &message); diff --git a/src/GetEssen.cpp b/src/GetEssen.cpp index 69a8e5e..44dae59 100644 --- a/src/GetEssen.cpp +++ b/src/GetEssen.cpp @@ -6,8 +6,15 @@ using std::string; bool -Handler::MensaHandler::db_update_mensa_message(const int &mensaID, const ptime &mensaDatum, const string &message) { +Handler::MensaHandler::db_update_mensa_message(const int &mensaID, const ptime &mensaDatum, const std::vector &message) { sqdb::Db db("../main.sqlite"); + + std::string messageFromJSON; + for (auto &mes : message){ + messageFromJSON.append(mes.keys().at(0)); + } + + string newTime = to_simple_string(ptime(boost::posix_time::second_clock::local_time())); string mensaDatumString = std::to_string(mensaDatum.date().year()) + "-" + mensaDatum.date().month().as_short_string() + "-" + @@ -15,7 +22,7 @@ Handler::MensaHandler::db_update_mensa_message(const int &mensaID, const ptime & sqdb::QueryStr str; db.Query(str.Format( SQDB_MAKE_TEXT("update mensa set Message = '%s', LastModified = '%s' where ID = %i and Datum = '%s';"), - message.c_str(), newTime.c_str(), mensaID, mensaDatumString.c_str())).Next(); + messageFromJSON.c_str(), newTime.c_str(), mensaID, mensaDatumString.c_str())).Next(); return true; } @@ -49,7 +56,7 @@ Handler::MensaHandler::db_get_mensa_message(const int &mensaID, const ptime &men if (s.Next()) { int ID = s.GetField(0); auto tmpData = crow::json::load(s.GetField(1).GetString()); - string Message = tmpData.; + auto Message = tmpData; string Datum = s.GetField(2); string LastModified = s.GetField(3); @@ -57,7 +64,7 @@ Handler::MensaHandler::db_get_mensa_message(const int &mensaID, const ptime &men ptime LMDate(boost::posix_time::time_from_string(LastModified)); out.ID = ID; - out.Message = Message; + out.Message.push(Message); out.Datum = mensaDatum; out.LastModified = LMDate; return out; @@ -108,6 +115,8 @@ std::vector Handler::MensaHandler::getEssen(const int mensa_ std::vector Handler::MensaHandler::read_mensa_message_from_file(const int &mensa_id_file) { std::vector reply_vec; + crow::json::wvalue test; + string s; bool serious = false; @@ -249,7 +258,12 @@ Handler::MensaHandler::getEssenOnline(int mensa_ID, boost::posix_time::ptime dat return reply_vec; } - db_insert_mensa_message(mensa_ID, datumEssen, crow::json::dump(read_mensa_message_from_file(mensa_ID))); + std::string jsonMessage; + for (auto &mes : read_mensa_message_from_file(mensa_ID)){ + jsonMessage.append(crow::json::dump(mes)); + } + + db_insert_mensa_message(mensa_ID, datumEssen, jsonMessage); return parseEssen(db_get_mensa_message(mensa_ID, datumEssen)); } -- cgit v1.2.3-54-g00ecf