sepaOnlineTransfer* sepaOnlineTransferImpl::createFromXml(const QDomElement& element) const { sepaOnlineTransferImpl* task = new sepaOnlineTransferImpl(); task->setOriginAccount(element.attribute("originAccount", QString())); task->setValue(MyMoneyMoney(QStringEmpty(element.attribute("value", QString())))); task->_textKey = element.attribute("textKey", QString().setNum(defaultTextKey)).toUShort(); task->_subTextKey = element.attribute("subTextKey", QString().setNum(defaultSubTextKey)).toUShort(); task->setPurpose(element.attribute("purpose", QString())); task->setEndToEndReference(element.attribute("endToEndReference", QString())); payeeIdentifiers::ibanBic beneficiary; payeeIdentifiers::ibanBic* beneficiaryPtr = 0; QDomElement beneficiaryEl = element.firstChildElement("beneficiary"); if (!beneficiaryEl.isNull()) { beneficiaryPtr = beneficiary.createFromXml(beneficiaryEl); } if (beneficiaryPtr == 0) { task->_beneficiaryAccount = beneficiary; } else { task->_beneficiaryAccount = *beneficiaryPtr; } delete beneficiaryPtr; return task; }
bool MyMoneyStorageXML::readFileInformation(const QDomElement& fileInfo) { signalProgress(0, 3, i18n("Loading file information...")); bool rc = true; QDomElement temp = findChildElement("CREATION_DATE", fileInfo); if (temp == QDomElement()) { rc = false; } QString strDate = QStringEmpty(temp.attribute("date")); m_storage->setCreationDate(stringToDate(strDate)); signalProgress(1, 0); temp = findChildElement("LAST_MODIFIED_DATE", fileInfo); if (temp == QDomElement()) { rc = false; } strDate = QStringEmpty(temp.attribute("date")); m_storage->setLastModificationDate(stringToDate(strDate)); signalProgress(2, 0); temp = findChildElement("VERSION", fileInfo); if (temp == QDomElement()) { rc = false; } QString strVersion = QStringEmpty(temp.attribute("id")); fileVersionRead = strVersion.toUInt(0, 16); temp = findChildElement("FIXVERSION", fileInfo); if (temp != QDomElement()) { QString strFixVersion = QStringEmpty(temp.attribute("id")); m_storage->setFileFixVersion(strFixVersion.toUInt()); // skip KMyMoneyView::fixFile_2() if (m_storage->fileFixVersion() == 2) { m_storage->setFileFixVersion(3); } } // FIXME The old version stuff used this rather odd number // We now use increments if (fileVersionRead == VERSION_0_60_XML) fileVersionRead = 1; signalProgress(3, 0); return rc; }
bool MyMoneyStorageXML::readUserInformation(const QDomElement& userElement) { bool rc = true; signalProgress(0, 1, i18n("Loading user information...")); MyMoneyPayee user; user.setName(QStringEmpty(userElement.attribute("name"))); user.setEmail(QStringEmpty(userElement.attribute("email"))); QDomElement addressNode = findChildElement("ADDRESS", userElement); if (!addressNode.isNull()) { user.setAddress(QStringEmpty(addressNode.attribute("street"))); user.setCity(QStringEmpty(addressNode.attribute("city"))); user.setState(QStringEmpty(addressNode.attribute("county"))); user.setPostcode(QStringEmpty(addressNode.attribute("zipcode"))); user.setTelephone(QStringEmpty(addressNode.attribute("telephone"))); } m_storage->setUser(user); signalProgress(1, 0); return rc; }
MyMoneySplit::MyMoneySplit(const QDomElement& node) : MyMoneyObject(node, false), MyMoneyKeyValueContainer(node.elementsByTagName("KEYVALUEPAIRS").item(0).toElement()) { if ("SPLIT" != node.tagName()) throw MYMONEYEXCEPTION("Node was not SPLIT"); clearId(); m_payee = QStringEmpty(node.attribute("payee")); QDomNodeList nodeList = node.elementsByTagName("TAG"); for (int i = 0; i < nodeList.count(); i++) m_tagList << QStringEmpty(nodeList.item(i).toElement().attribute("id")); m_reconcileDate = stringToDate(QStringEmpty(node.attribute("reconciledate"))); m_action = QStringEmpty(node.attribute("action")); m_reconcileFlag = static_cast<MyMoneySplit::reconcileFlagE>(node.attribute("reconcileflag").toInt()); m_memo = QStringEmpty(node.attribute("memo")); m_value = MyMoneyMoney(QStringEmpty(node.attribute("value"))); m_shares = MyMoneyMoney(QStringEmpty(node.attribute("shares"))); m_price = MyMoneyMoney(QStringEmpty(node.attribute("price"))); m_account = QStringEmpty(node.attribute("account")); m_number = QStringEmpty(node.attribute("number")); m_bankID = QStringEmpty(node.attribute("bankid")); }