bool CWizDatabase::setUserGroupInfo(const CWizGroupDataArray& arrayGroup) { if (!deleteMetasByName(g_strGroupSection)) return false; int nTotal = arrayGroup.size(); if (!nTotal) { return false; } if (!SetMeta(g_strGroupSection, "Count", QString::number(nTotal))) { return false; } int nErrors = 0; for (int i = 0; i < nTotal; i++) { WIZGROUPDATA group(arrayGroup[i]); if (!SetMeta(g_strGroupSection, QString::number(i), group.strGroupGUID)) { nErrors++; } if (!SetMeta(g_strGroupSection, group.strGroupGUID, group.strGroupName)) { nErrors++; } } if (nErrors > 0) { return false; } return true; }
void CWizApi::onGetGroupList(const CWizGroupDataArray& arrayGroup) { if (!arrayGroup.size()) return; m_db->setUserGroupInfo(arrayGroup); }
bool CWizDatabase::setUserGroupInfo(const CWizGroupDataArray& arrayGroup) { if (!deleteMetasByName(g_strGroupSection)\ && !deleteMetasByName(g_strBizGroupSection)) return false; int nTotal = arrayGroup.size(); if (!nTotal) { return false; } // collect biz group info QMap<QString, QString> bizInfo; for (int i = 0; i < nTotal; i++) { const WIZGROUPDATA& data = arrayGroup[i]; if (!data.bizGUID.isEmpty()) bizInfo[data.bizGUID] = data.bizName; } // set biz info SetMeta(g_strBizGroupSection, "Count", QString::number(bizInfo.size())); int idx = 0; QMap<QString, QString>::const_iterator it; for (it = bizInfo.begin(); it != bizInfo.end(); it++) { SetMeta(g_strBizGroupSection, QString::number(idx), it.key()); SetMeta(g_strBizGroupSection, it.key(), it.value()); idx++; } // set group info SetMeta(g_strGroupSection, "Count", QString::number(nTotal)); for (int i = 0; i < nTotal; i++) { const WIZGROUPDATA& data = arrayGroup[i]; SetMeta(g_strGroupSection, QString::number(i), data.strGroupGUID); SetMeta(g_strGroupSection, data.strGroupGUID, data.strGroupName); // also biz link if (!data.bizGUID.isEmpty()) { SetMeta(g_strBizGroupSection, data.strGroupGUID, data.bizGUID); } } return true; }