Included XML files for the "pay to new number" and "pay to old number" features in the Ozon platform.
56 lines
1.4 KiB
C++
56 lines
1.4 KiB
C++
#include "BankDAO.h"
|
|
|
|
#include <QSqlQuery>
|
|
#include <QSqlError>
|
|
#include <QVariant>
|
|
|
|
#include "DatabaseManager.h"
|
|
|
|
QList<BankInfo> BankDAO::getAll() {
|
|
QList<BankInfo> list;
|
|
QSqlQuery query(DatabaseManager::instance().database());
|
|
|
|
query.prepare("SELECT * FROM banks ORDER BY alias");
|
|
|
|
if (!query.exec()) {
|
|
qWarning() << "Ошибка при получении banks:" << query.lastError().text();
|
|
return list;
|
|
}
|
|
|
|
while (query.next()) {
|
|
BankInfo bank;
|
|
bank.id = query.value("id").toInt();
|
|
bank.alias = query.value("alias").toString();
|
|
bank.name = query.value("name").toString();
|
|
bank.nspkName = query.value("nspk_name").toString();
|
|
list.append(bank);
|
|
}
|
|
|
|
return list;
|
|
}
|
|
|
|
void BankDAO::replaceAll(const QList<BankInfo> &banks) {
|
|
QSqlDatabase db = DatabaseManager::instance().database();
|
|
QSqlQuery query(db);
|
|
|
|
db.transaction();
|
|
|
|
query.exec("DELETE FROM banks");
|
|
|
|
query.prepare(R"(
|
|
INSERT INTO banks (alias, name, nspk_name)
|
|
VALUES (:alias, :name, :nspk_name)
|
|
)");
|
|
|
|
for (const BankInfo &bank : banks) {
|
|
query.bindValue(":alias", bank.alias);
|
|
query.bindValue(":name", bank.name);
|
|
query.bindValue(":nspk_name", bank.nspkName);
|
|
if (!query.exec()) {
|
|
qWarning() << "Ошибка при вставке bank:" << query.lastError().text();
|
|
}
|
|
}
|
|
|
|
db.commit();
|
|
}
|