File indexing completed on 2024-05-12 05:06:41

0001 /*
0002     SPDX-FileCopyrightText: 2014-2016 Christian Dávid <christian-david@web.de>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #include "mymoneypayeeidentifiercontainer.h"
0007 
0008 #include <QDebug>
0009 
0010 #include "payeeidentifier/ibanbic/ibanbic.h"
0011 #include "payeeidentifier/nationalaccount/nationalaccount.h"
0012 #include "payeeidentifier/unavailableplugin/unavailableplugin.h"
0013 #include "payeeidentifier.h"
0014 
0015 MyMoneyPayeeIdentifierContainer::MyMoneyPayeeIdentifierContainer()
0016     : m_payeeIdentifiers(QList< ::payeeIdentifier >())
0017 {
0018 }
0019 
0020 unsigned int MyMoneyPayeeIdentifierContainer::payeeIdentifierCount() const
0021 {
0022     return m_payeeIdentifiers.count();
0023 }
0024 
0025 payeeIdentifier MyMoneyPayeeIdentifierContainer::payeeIdentifier(unsigned int index) const
0026 {
0027     return m_payeeIdentifiers.at(index);
0028 }
0029 
0030 QList<payeeIdentifier> MyMoneyPayeeIdentifierContainer::payeeIdentifiers() const
0031 {
0032     return m_payeeIdentifiers;
0033 }
0034 
0035 void MyMoneyPayeeIdentifierContainer::addPayeeIdentifier(const ::payeeIdentifier& ident)
0036 {
0037     m_payeeIdentifiers.append(ident);
0038 }
0039 
0040 void MyMoneyPayeeIdentifierContainer::addPayeeIdentifier(const unsigned int position, const ::payeeIdentifier& ident)
0041 {
0042     m_payeeIdentifiers.insert(position, ident);
0043 }
0044 
0045 void MyMoneyPayeeIdentifierContainer::removePayeeIdentifier(const ::payeeIdentifier& ident)
0046 {
0047     m_payeeIdentifiers.removeOne(ident);
0048 }
0049 
0050 void MyMoneyPayeeIdentifierContainer::removePayeeIdentifier(const int index)
0051 {
0052     Q_ASSERT(m_payeeIdentifiers.count() > index && index >= 0);
0053     m_payeeIdentifiers.removeAt(index);
0054 }
0055 
0056 void MyMoneyPayeeIdentifierContainer::modifyPayeeIdentifier(const ::payeeIdentifier& ident)
0057 {
0058     QList< ::payeeIdentifier >::Iterator end = m_payeeIdentifiers.end();
0059     for (QList< ::payeeIdentifier >::Iterator iter = m_payeeIdentifiers.begin(); iter != end; ++iter) {
0060         if (iter->id() == ident.id()) {
0061             *iter = ident;
0062             return;
0063         }
0064     }
0065 }
0066 
0067 void MyMoneyPayeeIdentifierContainer::modifyPayeeIdentifier(const int index, const ::payeeIdentifier& ident)
0068 {
0069     Q_ASSERT(m_payeeIdentifiers.count() > index && index >= 0);
0070     m_payeeIdentifiers[index] = ident;
0071 }
0072 
0073 void MyMoneyPayeeIdentifierContainer::resetPayeeIdentifiers(const QList< ::payeeIdentifier >& list)
0074 {
0075     m_payeeIdentifiers = list;
0076 }