From 7bd0a69c62427a7a4b9ee12811a3fd9ac75814d5 Mon Sep 17 00:00:00 2001 From: quentin Date: Fri, 16 Sep 2022 19:21:56 -0500 Subject: [PATCH] Refractor transaction to payment --- CMakeLists.txt | 2 +- src/data/accountData.cpp | 30 +++++++++++++------------- src/money/account.cpp | 12 +++++------ src/money/account.h | 6 +++--- src/money/payment.cpp | 20 +++++++++++++++++ src/money/{transaction.h => payment.h} | 10 ++++----- src/money/transaction.cpp | 20 ----------------- 7 files changed, 50 insertions(+), 50 deletions(-) create mode 100644 src/money/payment.cpp rename src/money/{transaction.h => payment.h} (55%) delete mode 100644 src/money/transaction.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index eb75cdb..b0cb0de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ set(CMAKE_CXX_STANDARD 20) add_executable(${PROJECT_NAME} src/main.cpp src/main.h src/money/account.cpp src/money/account.h - src/money/transaction.cpp src/money/transaction.h + src/money/payment.cpp src/money/payment.h src/money/recept.cpp src/money/recept.h src/data/data.tpp src/data/data.h src/data/accountData.cpp src/data/accountData.h diff --git a/src/data/accountData.cpp b/src/data/accountData.cpp index bc734a8..28659e3 100644 --- a/src/data/accountData.cpp +++ b/src/data/accountData.cpp @@ -10,7 +10,7 @@ AccountData::AccountData(const std::string &file) : Data(file) { } AccountData::AccountData(const std::string &file, const std::string &name) : Data(file) { - std::string json = R"({"name":")" + name + R"(","transactions":[],"earnings":[]})"; + std::string json = R"({"name":")" + name + R"(","payments":[],"earnings":[]})"; document.Parse(json.c_str()); account = AccountData::createObject(); std::cout << "Created account " << name << std::endl; @@ -20,15 +20,15 @@ Account AccountData::createObject() { if (isJsonCorrect()) { std::string name = document["name"].GetString(); - std::list transactions; - for (auto &domTransaction : document["transactions"].GetArray()) { - Receipt receipt(domTransaction["receipt"]["file"].GetString()); - int value = domTransaction["value"].GetInt(); - std::time_t date = domTransaction["date"].GetInt64(); + std::list payments; + for (auto &domPayment : document["payments"].GetArray()) { + Receipt receipt(domPayment["receipt"]["file"].GetString()); + int value = domPayment["value"].GetInt(); + std::time_t date = domPayment["date"].GetInt64(); std::tm tmTime{}; std::memcpy(&tmTime, std::localtime(&date), sizeof(struct tm)); - transactions.emplace_back(value, receipt, tmTime); + payments.emplace_back(value, receipt, tmTime); } std::list earnings; @@ -41,7 +41,7 @@ Account AccountData::createObject() { earnings.emplace_back(value, tmTime); } - return Account(transactions, earnings, name); + return Account(payments, earnings, name); } std::string strAnswer; @@ -67,14 +67,14 @@ Account AccountData::createObject() { bool AccountData::isJsonCorrect() { if (document.IsObject() && document.HasMember("name") && document["name"].IsString() && - document.HasMember("transactions") && document["transactions"].IsArray() && + document.HasMember("payments") && document["payments"].IsArray() && document.HasMember("earnings") && document["earnings"].IsArray()) { - for (auto &domTransaction : document["transactions"].GetArray()) { - if (!(domTransaction.IsObject() && - domTransaction.HasMember("receipt") && domTransaction["receipt"].IsObject() && - domTransaction["receipt"].HasMember("file") && domTransaction["receipt"]["file"].IsString() && - domTransaction.HasMember("value") && domTransaction["value"].IsInt() && - domTransaction.HasMember("date") && domTransaction["date"].IsInt64())) { + for (auto &domPayment : document["payments"].GetArray()) { + if (!(domPayment.IsObject() && + domPayment.HasMember("receipt") && domPayment["receipt"].IsObject() && + domPayment["receipt"].HasMember("file") && domPayment["receipt"]["file"].IsString() && + domPayment.HasMember("value") && domPayment["value"].IsInt() && + domPayment.HasMember("date") && domPayment["date"].IsInt64())) { return false; } } diff --git a/src/money/account.cpp b/src/money/account.cpp index 07d3190..792a724 100644 --- a/src/money/account.cpp +++ b/src/money/account.cpp @@ -6,8 +6,8 @@ #include -Account::Account(std::list transactions, std::list earnings, - std::string name) : transactions(std::move(transactions)), earnings(std::move(earnings)), +Account::Account(std::list payments, std::list earnings, + std::string name) : payments(std::move(payments)), earnings(std::move(earnings)), name(std::move(name)) {} Account::Account() { @@ -16,8 +16,8 @@ Account::Account() { int Account::getValue() { int total = 0; - for (auto &transaction : transactions) { - total -= transaction.value; + for (auto &payment : payments) { + total -= payment.value; } for (auto &earning : earnings) { total += earning.value; @@ -28,8 +28,8 @@ int Account::getValue() { std::vector Account::getTimeline() { std::vector timeline; - for (auto &transaction : transactions) { - timeline.emplace_back(&transaction.value, transaction.getDate()); + for (auto &payment : payments) { + timeline.emplace_back(&payment.value, payment.getDate()); } for (auto &earning : earnings) { timeline.emplace_back(&earning.value, earning.getDate()); diff --git a/src/money/account.h b/src/money/account.h index 437dd12..d79ecf6 100644 --- a/src/money/account.h +++ b/src/money/account.h @@ -6,7 +6,7 @@ #define BUDGET_ACCOUNT_H -#include "transaction.h" +#include "payment.h" #include "earning.h" #include "../data/dateMoney.h" #include @@ -15,7 +15,7 @@ class Account { public: - Account(std::list transactions, std::list earnings, std::string name); + Account(std::list payments, std::list earnings, std::string name); Account(); @@ -26,7 +26,7 @@ public: [[nodiscard]] const std::string &getName() const; private: - std::list transactions; + std::list payments; std::list earnings; std::string name; }; diff --git a/src/money/payment.cpp b/src/money/payment.cpp new file mode 100644 index 0000000..9748c28 --- /dev/null +++ b/src/money/payment.cpp @@ -0,0 +1,20 @@ +// +// Created by quentin on 8/4/22. +// + +#include "payment.h" + +#include + +Payment::Payment(const int value, Receipt receipt, std::tm date) : value(value), receipt(std::move(receipt)), + date(date) { + +} + +Receipt &Payment::getReceipt() { + return receipt; +} + +tm *Payment::getDate() { + return &date; +} diff --git a/src/money/transaction.h b/src/money/payment.h similarity index 55% rename from src/money/transaction.h rename to src/money/payment.h index 2737f37..8f3639e 100644 --- a/src/money/transaction.h +++ b/src/money/payment.h @@ -2,18 +2,18 @@ // Created by quentin on 8/4/22. // -#ifndef BUDGET_TRANSACTION_H -#define BUDGET_TRANSACTION_H +#ifndef BUDGET_PAYMENT_H +#define BUDGET_PAYMENT_H #include #include "recept.h" -class Transaction { +class Payment { public: const int value; - Transaction(int value, Receipt receipt, std::tm date); + Payment(int value, Receipt receipt, std::tm date); Receipt &getReceipt(); @@ -26,4 +26,4 @@ private: }; -#endif //BUDGET_TRANSACTION_H +#endif //BUDGET_PAYMENT_H diff --git a/src/money/transaction.cpp b/src/money/transaction.cpp deleted file mode 100644 index a81f467..0000000 --- a/src/money/transaction.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// -// Created by quentin on 8/4/22. -// - -#include "transaction.h" - -#include - -Transaction::Transaction(const int value, Receipt receipt, std::tm date) : value(value), receipt(std::move(receipt)), - date(date) { - -} - -Receipt &Transaction::getReceipt() { - return receipt; -} - -tm *Transaction::getDate() { - return &date; -}