#pragma once #include "common.h" enum { kFundGroup0, kFundGroup1, kFundGroup2, kFundGroup3, kFundGroup4, kFundGroup5, kFundGroup6, }; enum { kTimeLimitTypeNone, kTimeLimitTypeTool, kTimeLimitTypeCategory }; enum { kTimeLimitLengthNone, kTimeLimitLength3Min, kTimeLimitLength30Min, kTimeLimitLength1Month }; class AFX_EXT_CLASS T2Settlement { public: T2Settlement(T2TowerDoc* towerDoc, int funds); T2Settlement(T2TowerDoc* towerDoc, T2Archive&); ~T2Settlement(); T2Archive& Write(T2Archive&) const; void DoPay(int funds, short fundGroup); void DoPayTool(int funds, short fundGroup, T2ToolDef* inToolDef); void EmitPayToolMessage(T2TowerDoc*, T2ToolDef*, const CString&, int length, int); int GetCurrentFunds() const; int GetPreviousFunds() const; int GetTotalSettlement(short) const; int GetToolSettlement(T2ToolDef*) const; int GetCategorySettlement(int) const; void Update(); protected: T2DateTime* GetTimeLimitOfMessage(T2TowerDoc*, T2ToolDef*, int); void SetTimeLimitOfMessage(T2TowerDoc*, T2ToolDef*, int, T2DateTime*); T2DateTime* FindCategoryTimeLimit(T2TowerDoc*, T2ToolDef*); void LinkCategoryTimeLimit(T2TowerDoc*, T2ToolDef*, T2DateTime*); void Initialize(T2TowerDoc* towerDoc, int funds); static T2DateTime* CalcTimeLimitOfMessage(T2DateTime*, int); T2TowerDoc *mDocument; int mCurrentFunds; int mPreviousFunds; int mC; int m10; int m14; int m18; int m1C; LArray *mCategoryTimeLimitList; };