Link to: source code | prefs
directory
Copyright Turtle Creek Software 1996-2006. All Rights Reserved.
This class manages record numbering for the Goldenseal accounting software,
small business management software, construction
project management software and
construction estimating software.
class CNumbering : public DB_DescribedPersistent
{
public:
static CLASS_DESC *sDescriptor;
static DB_PersistentObject *MakeNew() { return TCS_NEW CNumbering; }
CNumbering();
virtual ~CNumbering() {}
static CTextString RefNumberToString(const DBClass inClassID, const SInt32 refNumber);
static CTextString GetNextNumberString(const DBClass inClassID, const SInt32 compareValue = 0,
const Boolean updateIt = true);
static CTextString PeekNextNumberString(const DBClass inClassID);
static SInt32 GetNextNumber(const DBClass inClassID, const SInt32 compareValue = 0,
const Boolean updateIt = true);
static SInt32 PeekNextNumber(const DBClass inClassID);
static void ResetNumber(const DBClass inClassID, const SInt32 compareValue = 0);
static Boolean UsesNumbering(const DBClass inClassID, const Boolean includeChecking = true);
static void EditNumbering(LCommander *inSuper);
virtual NeoID GetDBClassID(void) const { return id_Numbering; }
virtual NeoSize GetFileLength(const CNeoFormat *aFormat) const;
virtual void CopyFrom(DB_PersistentObject */*source*/, const UInt8 /*copyFlags*/ = 0) {}
virtual Boolean GetMemberValue(const TagType aTag, const TagType aType,
void *aValue) const;
virtual Boolean SetMemberValue(const TagType aTag, const TagType aType,
const void *aValue);
virtual void ReadObject(CNeoStream *aStream, const TagType aTag);
virtual void WriteObject(CNeoStream *aStream, const TagType aTag);
Boolean GetNumberString(const DBClass inClassID, CTextString &refString);
Boolean IncrementNumberString(const DBClass inClassID, const Boolean decreaseIt = false,
const SInt32 compareValue = 0);
Boolean RefNumberToString(const DBClass inClassID, const SInt32 refNumber,
CTextString &refString);
void ConvertRefString(CTextString &stockString, const SInt32 refNum,
CTextString &outString);
virtual void FinishNonViewerCreate();
virtual CTextString GetValidationString() const { return mValidationString; }
virtual Boolean NeedsName() const { return false; } // TCS 2/3/01
virtual Boolean ForbidDuplicateNames() const { return false; } // TCS 7/25/01
void CreateNextObjectIDArray();
DBid FetchNextObjectID(const DBid classID, const Boolean incrementIt);
void SetNextObjectID(const DBid classID, const DBid inItemID,
const Boolean alwaysReset = false);
virtual void FillDataReport(CTCS_Table *table, CNeoStream *stream) const;
virtual void SetEndSafetyTag() { mEndSafetyTag = tag_endsafetytag; }
protected:
// array members
TObjectIDArray mNextIDArray; // moved TCS 6/23/02
// string members
CTextString mNextBidNum,
mNextCallNum,
mNextCONum,
mNextCustomerNum,
mNextEstimateNum,
mNextLeaseNum,
mNextMiscCheckbookNum,
mNextPmtReceiptNum,
mNextProjectNum,
mNextProspectNum,
mNextPOWONum,
mNextRentalNum,
mNextSaleNum,
mNextTransmittalNum,
mValidationString;
// calculated members
TagType mEndSafetyTag; // TCS 9/8/02
enum
{
cCopyFileLength = 0,
cFileLength = cCopyFileLength +
sizeof(TagType)
};
}; |