The invoice stores all invoice items and amounts. It is the master of all these items.
Definition at line 353 of file invoice.h.
typedef std::vector<BaseAmount*> OSB_LIB::Invoice::AmountList |
typedef AmountList::const_iterator OSB_LIB::Invoice::AmountListCI |
typedef AmountList::iterator OSB_LIB::Invoice::AmountListI |
typedef std::vector<OnetimeChargeItem*> OSB_LIB::Invoice::OnetimeChargeItemList |
typedef OnetimeChargeItemList::const_iterator OSB_LIB::Invoice::OnetimeChargeItemListCI |
typedef OnetimeChargeItemList::iterator OSB_LIB::Invoice::OnetimeChargeItemListI |
typedef std::vector<SubsItem*> OSB_LIB::Invoice::SubsItemList |
typedef SubsItemList::const_iterator OSB_LIB::Invoice::SubsItemListCI |
typedef SubsItemList::iterator OSB_LIB::Invoice::SubsItemListI |
OSB_LIB::Invoice::Invoice | ( | const Invoice & | ) | [private] |
Not allowed.
OSB_LIB::Invoice::~Invoice | ( | ) | [inline] |
void OSB_LIB::Invoice::addAmount | ( | BaseAmount & | a, | |
ContributesTo | flags | |||
) |
Add an amount to the list of invoice amounts and all invoice (sub)totals to which it contributes.
a | Amount to add. | |
flags | Flag of where the amount will contribute to. |
Referenced by newOnetimeChargeItem(), newSubsItem(), newTotalItem(), and newUsageItem().
AmountListI OSB_LIB::Invoice::amountListBegin | ( | ) | [inline] |
AmountListCI OSB_LIB::Invoice::amountListBegin | ( | ) | const [inline] |
AmountListI OSB_LIB::Invoice::amountListEnd | ( | ) | [inline] |
AmountListCI OSB_LIB::Invoice::amountListEnd | ( | ) | const [inline] |
ItemMap::Iterator OSB_LIB::Invoice::findItem | ( | const Section & | s | ) | [inline] |
const Subtotal& OSB_LIB::Invoice::invoiceTotal | ( | ) | const [inline] |
ItemListI OSB_LIB::Invoice::itemListBegin | ( | ) | [inline] |
ItemListI OSB_LIB::Invoice::itemListEnd | ( | ) | [inline] |
AssociateInfo * OSB_LIB::Invoice::newAssociateInfo | ( | const Section & | section, | |
const T & | t, | |||
const Associate * | associate | |||
) |
Create a new info item at the invoice.
The typename T specifies the type of sort key in the section.
Definition at line 1265 of file invoice.h.
References OSB_LIB::ItemMap::insert(), items_, setNumber(), and OSB_LIB::Section::str().
AssociateInfo* OSB_LIB::Invoice::newAssociateInfo | ( | const Section & | section, | |
const Associate * | associate | |||
) |
Create a new Associate info item at the invoice.
InvoiceInfoItem * OSB_LIB::Invoice::newInvoiceInfoItem | ( | const Section & | section, | |
const T & | t, | |||
const InvoiceInfo * | invInfo | |||
) |
Create a new Invoice Info info item at the invoice.
The typename T specifies the type of sort key in the section.
Definition at line 1300 of file invoice.h.
References OSB_LIB::ItemMap::insert(), items_, setNumber(), and OSB_LIB::Section::str().
InvoiceInfoItem* OSB_LIB::Invoice::newInvoiceInfoItem | ( | const Section & | section, | |
const InvoiceInfo * | invInfo | |||
) |
Create a new Invoice Info info item at the invoice.
OnetimeChargeItem * OSB_LIB::Invoice::newOnetimeChargeItem | ( | const Section & | , | |
const T & | , | |||
const OnetimeCharge * | ||||
) |
Definition at line 1215 of file invoice.h.
References OSB_LIB::ct_invAmounts, OSB_LIB::ct_invTotal, and OSB_LIB::ct_otcTotal.
OnetimeChargeItem * OSB_LIB::Invoice::newOnetimeChargeItem | ( | const Section & | , | |
const T & | , | |||
const OnetimeCharge * | , | |||
ContributesTo | ||||
) |
Create a new one time charge item at the invoice The typename T specifies the type of sort key in the section.
Definition at line 1194 of file invoice.h.
References addAmount(), OSB_LIB::OnetimeChargeItem::amount, OSB_LIB::ItemMap::insert(), items_, onetimeChargeItems_, setNumber(), and OSB_LIB::Section::str().
OnetimeChargeItem* OSB_LIB::Invoice::newOnetimeChargeItem | ( | const Section & | , | |
const OnetimeCharge * | , | |||
ContributesTo | = ContributesTo(ct_invAmounts|ct_invTotal|ct_otcTotal) | |||
) |
Create a new one time charge item at the invoice.
SubsItem * OSB_LIB::Invoice::newSubsItem | ( | const Section & | , | |
const T & | , | |||
const SubsCharge * | ||||
) |
Definition at line 1183 of file invoice.h.
References OSB_LIB::ct_invAmounts, OSB_LIB::ct_invTotal, and OSB_LIB::ct_subsTotal.
SubsItem * OSB_LIB::Invoice::newSubsItem | ( | const Section & | , | |
const T & | , | |||
const SubsCharge * | , | |||
ContributesTo | ||||
) |
Create a new subscription charge item at the invoice.
The typename T specifies the type of sort key in the section.
Definition at line 1166 of file invoice.h.
References addAmount(), OSB_LIB::SubsItem::amount, OSB_LIB::ItemMap::insert(), items_, setNumber(), OSB_LIB::Section::str(), and subsItems_.
SubsItem* OSB_LIB::Invoice::newSubsItem | ( | const Section & | , | |
const SubsCharge * | , | |||
ContributesTo | = ContributesTo(ct_invAmounts|ct_invTotal|ct_subsTotal) | |||
) |
Create a new subscription charge item at the invoice.
SummaryChargesInfo * OSB_LIB::Invoice::newSummaryChargesInfo | ( | const Section & | section, | |
const T & | t, | |||
const SummaryCharges * | sumCharges | |||
) |
Create a new Summary Charges info item at the invoice.
The typename T specifies the type of sort key in the section.
Definition at line 1282 of file invoice.h.
References OSB_LIB::ItemMap::insert(), items_, setNumber(), and OSB_LIB::Section::str().
SummaryChargesInfo* OSB_LIB::Invoice::newSummaryChargesInfo | ( | const Section & | section, | |
const SummaryCharges * | sumCharges | |||
) |
Create a new Summary Charges info item at the invoice.
TotalItem * OSB_LIB::Invoice::newTotalItem | ( | const Section & | section, | |
const T & | t, | |||
Decimal & | volume, | |||
const Unit::Oid & | uId, | |||
ContributesTo | flags | |||
) |
Create a new total item at the invoice The typename T specifies the type of sort key in the section.
Definition at line 1228 of file invoice.h.
References addAmount(), OSB_LIB::TotalItem::amount_, OSB_LIB::ItemMap::insert(), items_, setNumber(), and OSB_LIB::Section::str().
TotalItem* OSB_LIB::Invoice::newTotalItem | ( | const Section & | section, | |
Decimal & | volume, | |||
const Unit::Oid & | uId, | |||
ContributesTo | flags = ContributesTo(ct_nothing) | |||
) |
Create a new total item at the invoice.
U * OSB_LIB::Invoice::newUsageItem | ( | const Section & | section, | |
const T & | t | |||
) |
Definition at line 1156 of file invoice.h.
References OSB_LIB::ct_invAmounts, OSB_LIB::ct_invTotal, and OSB_LIB::ct_usgTotal.
U * OSB_LIB::Invoice::newUsageItem | ( | const Section & | section, | |
const T & | t, | |||
ContributesTo | flag | |||
) |
Create a new usage item at the invoice.
The typename T specifies the type of sort key in the section.
Definition at line 1138 of file invoice.h.
References addAmount(), OSB_LIB::ItemMap::insert(), items_, setNumber(), and OSB_LIB::Section::str().
U * OSB_LIB::Invoice::newUsageItem | ( | const Section & | section | ) |
Definition at line 1129 of file invoice.h.
References OSB_LIB::ct_invAmounts, OSB_LIB::ct_invTotal, and OSB_LIB::ct_usgTotal.
U * OSB_LIB::Invoice::newUsageItem | ( | const Section & | section, | |
ContributesTo | flag | |||
) |
Create a new usage item at the invoice.
Definition at line 1112 of file invoice.h.
References addAmount(), OSB_LIB::ItemMap::insert(), items_, setNumber(), and OSB_LIB::Section::str().
OnetimeChargeItemListI OSB_LIB::Invoice::onetimeChargeItemListBegin | ( | ) | [inline] |
OnetimeChargeItemListCI OSB_LIB::Invoice::onetimeChargeItemListBegin | ( | ) | const [inline] |
OnetimeChargeItemListI OSB_LIB::Invoice::onetimeChargeItemListEnd | ( | ) | [inline] |
OnetimeChargeItemListCI OSB_LIB::Invoice::onetimeChargeItemListEnd | ( | ) | const [inline] |
const Subtotal& OSB_LIB::Invoice::onetimeChargesTotal | ( | ) | const [inline] |
void OSB_LIB::Invoice::setNumber | ( | InvoiceItem & | ii | ) | [inline] |
Set the invoice item number at the item.
Definition at line 374 of file invoice.h.
References count_, and OSB_LIB::InvoiceItem::setNumber().
Referenced by newAssociateInfo(), newInvoiceInfoItem(), newOnetimeChargeItem(), newSubsItem(), newSummaryChargesInfo(), newTotalItem(), and newUsageItem().
SubsItemListI OSB_LIB::Invoice::SubsItemListBegin | ( | ) | [inline] |
SubsItemListCI OSB_LIB::Invoice::SubsItemListBegin | ( | ) | const [inline] |
SubsItemListI OSB_LIB::Invoice::SubsItemListEnd | ( | ) | [inline] |
SubsItemListCI OSB_LIB::Invoice::SubsItemListEnd | ( | ) | const [inline] |
const Subtotal& OSB_LIB::Invoice::subsTotal | ( | ) | const [inline] |
const Subtotal& OSB_LIB::Invoice::usageTotal | ( | ) | const [inline] |
int OSB_LIB::Invoice::count_ [private] |
AmountList OSB_LIB::Invoice::invoiceAmounts_ [private] |
All invoice amounts - amounts for taxation and book-keeping.
Definition at line 623 of file invoice.h.
Referenced by amountListBegin(), and amountListEnd().
Subtotal OSB_LIB::Invoice::invoiceTotal_ [private] |
ItemMap OSB_LIB::Invoice::items_ [private] |
All invoice items - master list.
Definition at line 617 of file invoice.h.
Referenced by findItem(), itemListBegin(), itemListEnd(), newAssociateInfo(), newInvoiceInfoItem(), newOnetimeChargeItem(), newSubsItem(), newSummaryChargesInfo(), newTotalItem(), and newUsageItem().
Only the onetime-charge items.
Definition at line 621 of file invoice.h.
Referenced by newOnetimeChargeItem(), onetimeChargeItemListBegin(), and onetimeChargeItemListEnd().
The total one time charge amount.
Definition at line 633 of file invoice.h.
Referenced by onetimeChargesTotal().
SubsItemList OSB_LIB::Invoice::subsItems_ [private] |
Only the subscription charge items.
Definition at line 619 of file invoice.h.
Referenced by newSubsItem(), SubsItemListBegin(), and SubsItemListEnd().
Subtotal OSB_LIB::Invoice::subsTotal_ [private] |
The total Subscription charge amount.
Definition at line 629 of file invoice.h.
Referenced by subsTotal().
Subtotal OSB_LIB::Invoice::totalTotal_ [private] |
Subtotal OSB_LIB::Invoice::usageTotal_ [private] |