diff --git a/CMakeLists.txt b/CMakeLists.txt index b0cb0de..93c5c66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,4 +15,4 @@ add_executable(${PROJECT_NAME} src/main.cpp src/main.h src/optHandlers/accountOptHandler.cpp src/optHandlers/accountOptHandler.h src/optHandlers/mainOptHandler.cpp src/optHandlers/mainOptHandler.h utilities/math.cpp utilities/math.h - utilities/polynomialFunction.cpp utilities/polynomialFunction.h) + utilities/polynomialFunction.cpp utilities/polynomialFunction.h src/money/transaction.cpp src/money/transaction.h) diff --git a/src/main.cpp b/src/main.cpp index 7dfcf82..351d998 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -72,7 +72,13 @@ int main(int argc, char *argv[]) { if (accountOptHandler.getSetOpts()->value) { auto a = accounts.find(accountOptHandler.getSetOpts()->valueAccount); if (a != accounts.end()) { - std::cout << "Account value: " << a->second.getAccount()->getValue() << std::endl; + int value = a->second.getAccount()->getValue(); + std::vector timeline = a->second.getAccount()->getTimeline(); + printf("Account value: %n\n", &value); + printf("Last 10 payments:\n"); + for (auto transaction : timeline) { + + } } } if (accountOptHandler.getSetOpts()->del) { diff --git a/src/money/earning.cpp b/src/money/earning.cpp index 3bc307f..df10dd8 100644 --- a/src/money/earning.cpp +++ b/src/money/earning.cpp @@ -4,8 +4,4 @@ #include "earning.h" -Earning::Earning(const int value, std::tm date) : value(value), date(date) {} - -tm *Earning::getDate() { - return &date; -} +Earning::Earning(const int value, std::tm date) : Transaction(value, date) {} diff --git a/src/money/earning.h b/src/money/earning.h index 6def678..d8bfca2 100644 --- a/src/money/earning.h +++ b/src/money/earning.h @@ -6,17 +6,11 @@ #define BUDGET_EARNING_H #include +#include "transaction.h" -class Earning { +class Earning : public Transaction { public: - const int value; - explicit Earning(int value, std::tm date); - - tm *getDate(); - -private: - std::tm date; }; diff --git a/src/money/payment.cpp b/src/money/payment.cpp index 9748c28..f695464 100644 --- a/src/money/payment.cpp +++ b/src/money/payment.cpp @@ -6,15 +6,8 @@ #include -Payment::Payment(const int value, Receipt receipt, std::tm date) : value(value), receipt(std::move(receipt)), - date(date) { - -} +Payment::Payment(const int value, Receipt receipt, std::tm date) : Transaction(value, date), receipt(std::move(receipt)) {} Receipt &Payment::getReceipt() { return receipt; } - -tm *Payment::getDate() { - return &date; -} diff --git a/src/money/payment.h b/src/money/payment.h index 8f3639e..27875cb 100644 --- a/src/money/payment.h +++ b/src/money/payment.h @@ -6,23 +6,17 @@ #define BUDGET_PAYMENT_H -#include #include "recept.h" +#include "transaction.h" -class Payment { +class Payment : public Transaction { public: - const int value; - Payment(int value, Receipt receipt, std::tm date); Receipt &getReceipt(); - tm *getDate(); - - private: Receipt receipt; - std::tm date; }; diff --git a/src/money/transaction.cpp b/src/money/transaction.cpp new file mode 100644 index 0000000..a8768be --- /dev/null +++ b/src/money/transaction.cpp @@ -0,0 +1,11 @@ +// +// Created by quentin on 9/16/22. +// + +#include "transaction.h" + +Transaction::Transaction(const int value, const tm &date) : value(value), date(date) {} + +tm *Transaction::getDate() { + return &date; +} diff --git a/src/money/transaction.h b/src/money/transaction.h new file mode 100644 index 0000000..99a3fd2 --- /dev/null +++ b/src/money/transaction.h @@ -0,0 +1,23 @@ +// +// Created by quentin on 9/16/22. +// + +#ifndef BUDGET_TRANSACTION_H +#define BUDGET_TRANSACTION_H + +#include + +class Transaction { +public: + Transaction(int value, const tm &date); + + const int value; + + tm *getDate(); + +private: + std::tm date; +}; + + +#endif //BUDGET_TRANSACTION_H