Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}