File indexing completed on 2024-04-28 16:30:08
0001 /*************************************************************************** 0002 * SPDX-FileCopyrightText: 2022 S. MANKOWSKI stephane@mankowski.fr 0003 * SPDX-FileCopyrightText: 2022 G. DE BURE support@mankowski.fr 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 ***************************************************************************/ 0006 /** @file 0007 * This file implements classes SKGBankObject. 0008 * 0009 * @author Stephane MANKOWSKI / Guillaume DE BURE 0010 */ 0011 #include "skgbankobject.h" 0012 0013 #include <klocalizedstring.h> 0014 0015 #include "skgaccountobject.h" 0016 #include "skgdocumentbank.h" 0017 0018 SKGBankObject::SKGBankObject(): SKGBankObject(nullptr) 0019 {} 0020 0021 SKGBankObject::SKGBankObject(SKGDocument* iDocument, int iID): SKGNamedObject(iDocument, QStringLiteral("v_bank"), iID) 0022 {} 0023 0024 SKGBankObject::~SKGBankObject() 0025 = default; 0026 0027 SKGBankObject::SKGBankObject(const SKGBankObject& iObject) 0028 = default; 0029 0030 SKGBankObject::SKGBankObject(const SKGNamedObject& iObject) 0031 { 0032 if (iObject.getRealTable() == QStringLiteral("bank")) { 0033 copyFrom(iObject); 0034 } else { 0035 *this = SKGNamedObject(iObject.getDocument(), QStringLiteral("v_bank"), iObject.getID()); 0036 } 0037 } 0038 0039 SKGBankObject::SKGBankObject(const SKGObjectBase& iObject) 0040 { 0041 if (iObject.getRealTable() == QStringLiteral("bank")) { 0042 copyFrom(iObject); 0043 } else { 0044 *this = SKGNamedObject(iObject.getDocument(), QStringLiteral("v_bank"), iObject.getID()); 0045 } 0046 } 0047 0048 SKGBankObject& SKGBankObject::operator= (const SKGObjectBase& iObject) 0049 { 0050 copyFrom(iObject); 0051 return *this; 0052 } 0053 0054 SKGBankObject& SKGBankObject::operator= (const SKGBankObject& iObject) 0055 { 0056 copyFrom(iObject); 0057 return *this; 0058 } 0059 0060 SKGError SKGBankObject::addAccount(SKGAccountObject& oAccount) 0061 { 0062 SKGError err; 0063 if (getID() == 0) { 0064 err = SKGError(ERR_FAIL, i18nc("Error message", "%1 failed because linked object is not yet saved in the database.", QStringLiteral("SKGBankObject::addAccount"))); 0065 } else { 0066 oAccount = SKGAccountObject(qobject_cast<SKGDocumentBank*>(getDocument())); 0067 err = oAccount.setAttribute(QStringLiteral("rd_bank_id"), SKGServices::intToString(getID())); 0068 } 0069 return err; 0070 } 0071 0072 SKGError SKGBankObject::getAccounts(SKGListSKGObjectBase& oAccountList) const 0073 { 0074 SKGError err = getDocument()->getObjects(QStringLiteral("v_account"), 0075 "rd_bank_id=" % SKGServices::intToString(getID()), 0076 oAccountList); 0077 return err; 0078 } 0079 0080 SKGError SKGBankObject::setNumber(const QString& iNumber) 0081 { 0082 return setAttribute(QStringLiteral("t_bank_number"), iNumber); 0083 } 0084 0085 QString SKGBankObject::getNumber() const 0086 { 0087 return getAttribute(QStringLiteral("t_bank_number")); 0088 } 0089 0090 SKGError SKGBankObject::setIcon(const QString& iIcon) 0091 { 0092 return setAttribute(QStringLiteral("t_icon"), iIcon); 0093 } 0094 0095 QString SKGBankObject::getIcon() const 0096 { 0097 return getAttribute(QStringLiteral("t_icon")); 0098 } 0099 0100 double SKGBankObject::getCurrentAmount() const 0101 { 0102 return SKGServices::stringToDouble(getAttributeFromView(QStringLiteral("v_bank_amount"), QStringLiteral("f_CURRENTAMOUNT"))); 0103 } 0104