Accounting Software
Small Business Software Estimating Software
Time Tracking SoftwareTime Management SoftwareTime Billing SoftwareProject Management SoftwareBookkeeping SoftwareContact Management SoftwareBusiness Management Software

Rental Payment Terms (Header)

Link to: source code | lists directory

Copyright Turtle Creek Software 1996-2006. All Rights Reserved.

This class manages property rental payment terms for the Goldenseal accounting software,
property management software and rental property management software.

class CRentalPaymentTerm : public CPaymentTerm
{
public:
static CLASS_DESC *sDescriptor;
static DB_PersistentObject *MakeNew() { return TCS_NEW CRentalPaymentTerm; }

CRentalPaymentTerm();
virtual ~CRentalPaymentTerm() {}
class CRentalPT_Desc : public CLASS_DESC
{
public:
CRentalPT_Desc()
: CLASS_DESC(id_RentalPaymentTerm, id_PaymentTerm, CRentalPaymentTerm::MakeNew) {}
virtual ~CRentalPT_Desc() {}

virtual Boolean GetTableColInfo(const TagType tag, const TableIndexT col,
STableColInfo *colInfo);
virtual SInt32 GetNumTableCols(const TagType /*tableTag*/) { return 1; }
};

virtual NeoSize GetFileLength(const CNeoFormat *aFormat) const
{ return CPaymentTerm::GetFileLength(aFormat) + cFileLength; }

virtual NeoID GetDBClassID(void) const { return id_RentalPaymentTerm; }

virtual void ReadObject(CNeoStream *aStream, const TagType aTag);
virtual void WriteObject(CNeoStream *aStream, const TagType aTag);

virtual TagType GetDateTableTag() { return tag_rentaldatetable; }

virtual CMoney GetStartingAmount(const CMoney baseAmount, const CDate leaseStart);
virtual CMoney GetClosingAmount(const CMoney baseAmount, const CDate leaseEnd);

virtual Boolean FillBasicRents(SLeaseInfo &leaseInfo, const CMoney baseAmount,
const CDate leaseStart, const CDate leaseEnd,
const CDate cutoffDate, const CMoney startAmount,
const CMoney endAmount, const Boolean isMonthToMonth);

virtual void FillDataReport(CTCS_Table *table, CNeoStream *stream) const;

virtual void SetEndSafetyTag() { mEndSafetyTag = tag_endsafetytag; }

protected:

TagType mEndSafetyTag; // TCS 9/8/02

enum
{
cCopyFileLength = 0,

cFileLength = cCopyFileLength +
sizeof(TagType)
};
};