#include "Sport.h" #include #include #include #include #include /** * @brief Sport::getCategories Reads all possible categories (also called units). * @return A set of all category names. */ set Sport::getCategories() { set categoryNames; for (const QJsonValueRef& unit : this->discipline["units"].toArray()) { categoryNames.insert(unit.toObject()["eventUnitName"].toString()); } return categoryNames; } /** * @brief Sport::getCompetitorsByCategory Searches for all competitors, who took part in the given category. * @param category The category to search in. * @return An QJsonArray with all competitors as QJsonValueRef, which can be casted to QJsonObject. */ QJsonArray Sport::getCompetitorsByCategory(QString category) { QJsonArray competitors; for (const QJsonValueRef& unitRef : this->discipline["units"].toArray()) { QJsonObject unit = unitRef.toObject(); // search all units with the same category if (QString::compare(unit["eventUnitName"].toString(), category, Qt::CaseSensitive) == 0) { // add all competitors from one unit for (const QJsonValueRef& comp : unit["competitors"].toArray()) { competitors.push_back(comp.toObject()); } } } return competitors; }