1#line 2 "src/Eng/TransactionManager.h"
3#ifndef __ENG_TRANSACTIONMANAGER_H___
4#define __ENG_TRANSACTIONMANAGER_H___
6#include "../Dbo/Accounts/Accounts.h"
7#include "../Dbo/Prefrences.h"
8#include "../Dbo/Splits/Splits.h"
9#include "../Dbo/Transactions/Transactions.h"
17 namespace AccountRegister {
22 namespace Transaction {
40 using RowItem = std::vector< std::unique_ptr< Wt::WStandardItem > > ;
47 auto model() const-> Gui::AccountRegister::Model * {
return m_model ; }
75 auto loadSplit(
const std::string & _splitGuid )-> void ;
145 auto
setDate( const
Wt::WDateTime & _value )->
void ;
146 auto
setDate( const
Wt::WDate & _value )->
void ;
174 auto
setNum( const
std::
string & _value )->
void ;
175 auto
setNum( const
Wt::WString & _value )->
void ;
207 auto
setNotes( const
std::
string & _acctGuid, const
std::
string & _value )->
void ;
209 auto
split( const
std::
string & _splitGuid ) const->
GCW::Dbo::Splits::Item::Ptr ;
224 auto
toSplit() const->
GCW::Dbo::Splits::Item::Ptr ;
234 auto
appendRow(
bool _editable )->
void ;
242 auto
flags(
bool _editable ) const->
Wt::WFlags<
Wt::ItemFlag > ;
244 auto
createText ( const
std::
string & _text ) const->
std::unique_ptr<
Wt::WStandardItem > ;
247 auto
createDate ( const
TxItem & _txItem,
bool _editable ) const->
std::unique_ptr<
Wt::WStandardItem > ;
248 auto
createNum ( const
TxItem & _txItem,
bool _editable ) const->
std::unique_ptr<
Wt::WStandardItem > ;
249 auto
createNum ( const
SpItem & _spItem,
bool _editable ) const->
std::unique_ptr<
Wt::WStandardItem > ;
254 auto
createDebit ( const
SpItem & _spItem,
bool _editable ) const->
std::unique_ptr<
Wt::WStandardItem > ;
263 Gui::AccountRegister::Model *
m_model =
nullptr ;
auto createBalance() const -> std::unique_ptr< Wt::WStandardItem >
auto highlightNegativeBalance(RowItem &_row) const -> void
auto isBalanced() -> bool
Is Transaction Balanced.
auto appendAutosplitLedger(bool _editable) const -> void
auto setTransferGuid(const std::string &_value) -> void
Set Transfer GUID.
auto deleteTransaction() -> bool
Delete Transaction.
auto insertDoubleLine(int _row) -> void
auto createAccount(const SpItem &_spItem, bool _editable) const -> std::unique_ptr< Wt::WStandardItem >
auto forAccountSplit(const std::string &_accountGuid) const -> GCW::Dbo::Splits::Item::Ptr
Load Split for Account.
auto setReconcile(const std::string &_value) -> void
GCW::Dbo::Splits::Item::Vector m_splits
auto getToAccount() const -> std::string
auto toSplit() const -> GCW::Dbo::Splits::Item::Ptr
auto getDateAsString() const -> Wt::WString
GCW::Dbo::Transactions::Item::Ptr m_transactionItem
auto appendBasicLedger(bool _editable) const -> void
auto createDescription(const TxItem &_txItem, bool _editable) const -> std::unique_ptr< Wt::WStandardItem >
auto getDescription() const -> std::string
Set Description.
GCW::Dbo::Transactions::Item::Ptr TxItem
auto setSplitItem(GCW::Dbo::Splits::Item::Ptr _splitItem) -> void
auto thisSplit() const -> GCW::Dbo::Splits::Item::Ptr
auto getDate() const -> Wt::WDateTime
Set Date.
auto transactionItem() const -> GCW::Dbo::Transactions::Item::Ptr
Transaction Item.
auto createBlank() const -> std::unique_ptr< Wt::WStandardItem >
auto model() const -> Gui::AccountRegister::Model *
auto setDescription(const std::string &_value) -> void
auto appendRow(bool _editable) -> void
auto createCredit(const SpItem &_spItem, bool _editable) const -> std::unique_ptr< Wt::WStandardItem >
auto getValue() const -> GCW_NUMERIC
auto getNum() const -> std::string
Set Num.
auto balanceValue() -> GCW_NUMERIC
Balance Value.
auto fromSplit() const -> GCW::Dbo::Splits::Item::Ptr
Gui::AccountRegister::Model * m_model
auto createReconcile(const SpItem &_spItem, bool _editable) const -> std::unique_ptr< Wt::WStandardItem >
auto prefrenceItem() const -> const GCW::Dbo::Prefrences::Item &
GCW::Dbo::Splits::Item::Ptr SpItem
std::vector< std::unique_ptr< Wt::WStandardItem > > RowItem
auto otherGuid() const -> std::string
Other GUID.
auto setNum(const std::string &_value) -> void
auto setDate(const Wt::WDateTime &_value) -> void
auto loadSplit(const std::string &_splitGuid) -> void
Set Split.
auto split(const std::string &_splitGuid) const -> GCW::Dbo::Splits::Item::Ptr
auto setAction(const std::string &_value) -> void
Set Action.
auto setNotes(const std::string &_acctGuid, const std::string &_value) -> void
auto setReadOnly(bool _value) -> void
auto setValue(GCW_NUMERIC _value) -> void
auto appendGeneralJournal(bool _editable) const -> void
auto createDebit(const SpItem &_spItem, bool _editable) const -> std::unique_ptr< Wt::WStandardItem >
auto getValueAsString() const -> std::string
auto thatSplit() const -> GCW::Dbo::Splits::Item::Ptr
GCW::Dbo::Prefrences::Item m_prefrenceItem
auto createDate(const TxItem &_txItem, bool _editable) const -> std::unique_ptr< Wt::WStandardItem >
auto otherSplits() const -> GCW::Dbo::Splits::Item::Vector
auto createEmpty() const -> std::unique_ptr< Wt::WStandardItem >
auto appendTransactionJournal(bool _editable) const -> void
auto createNum(const TxItem &_txItem, bool _editable) const -> std::unique_ptr< Wt::WStandardItem >
auto splits() const -> GCW::Dbo::Splits::Item::Vector
Splits Vector.
auto getFromAccount() const -> std::string
auto flags(bool _editable) const -> Wt::WFlags< Wt::ItemFlag >
auto sortSplits() -> void
Sort Splits.
auto createText(const std::string &_text) const -> std::unique_ptr< Wt::WStandardItem >
auto appendEmptyRow(bool _editable) -> void
auto loadTransaction(const std::string &_transactionGuid) -> void
Set Transaction.
auto newTransaction(const std::string &_accountGuid1, const std::string &_accountGuid2, const Wt::WDate &_date=Wt::WDate::currentDate(), GCW_NUMERIC _value=GCW_NUMERIC(0), const std::string &_description="") -> void
New Transaction.
static WDate currentDate()
#define GCW_NUMERIC
Internal Numeric Type.