Transactions and Earning now store tm dates.
This commit is contained in:
parent
04765e1992
commit
c9865dba8c
@ -19,13 +19,21 @@ Account AccountData::createObject() {
|
||||
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::tm tmTime{};
|
||||
std::memcpy(&tmTime, std::localtime(&date), sizeof(struct tm));
|
||||
|
||||
transactions.emplace_back(value, receipt);
|
||||
transactions.emplace_back(value, receipt, tmTime);
|
||||
}
|
||||
|
||||
std::list<Earning> earnings;
|
||||
for (auto &domEarning : document["earnings"].GetArray()) {
|
||||
earnings.emplace_back(domEarning["value"].GetInt());
|
||||
int value = domEarning["value"].GetInt();
|
||||
std::time_t date = domEarning["date"].GetInt64();
|
||||
std::tm tmTime{};
|
||||
std::memcpy(&tmTime, std::localtime(&date), sizeof(struct tm));
|
||||
|
||||
earnings.emplace_back(value, tmTime);
|
||||
}
|
||||
|
||||
return Account(transactions, earnings, withdrawable, name);
|
||||
@ -61,13 +69,15 @@ bool AccountData::isJsonCorrect() {
|
||||
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("value") && domTransaction["value"].IsInt() &&
|
||||
domTransaction.HasMember("date") && domTransaction["date"].IsInt64())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
for (auto &domEarning : document["earnings"].GetArray()) {
|
||||
if (!(domEarning.IsObject() &&
|
||||
domEarning.HasMember("value") && domEarning["value"].IsInt())) {
|
||||
domEarning.HasMember("value") && domEarning["value"].IsInt() &&
|
||||
domEarning.HasMember("date") && domEarning["date"].IsInt64())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ void createRequiredFolders() {
|
||||
std::filesystem::create_directory(homeDirectory + "/.config/budget/");
|
||||
std::filesystem::create_directories(homeDirectory + "/.local/share/budget");
|
||||
std::filesystem::create_directories(homeDirectory + "/.local/share/budget/accounts");
|
||||
std::filesystem::create_directories(homeDirectory + "/.local/share/budget/receipts");
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
@ -4,4 +4,4 @@
|
||||
|
||||
#include "earning.h"
|
||||
|
||||
Earning::Earning(const int value) : value(value) {}
|
||||
Earning::Earning(const int value, std::tm date) : value(value),date(date) {}
|
||||
|
@ -5,13 +5,15 @@
|
||||
#ifndef BUDGET_EARNING_H
|
||||
#define BUDGET_EARNING_H
|
||||
|
||||
#include <ctime>
|
||||
|
||||
class Earning {
|
||||
public:
|
||||
explicit Earning(int value);
|
||||
explicit Earning(int value, std::tm date);
|
||||
|
||||
public:
|
||||
const int value;
|
||||
std::tm date;
|
||||
};
|
||||
|
||||
|
||||
|
@ -6,8 +6,14 @@
|
||||
|
||||
#include <utility>
|
||||
|
||||
Transaction::Transaction(const int value, Receipt receipt, std::tm date) : value(value), receipt(std::move(receipt)), date(date) {
|
||||
|
||||
}
|
||||
|
||||
Receipt &Transaction::getReceipt() {
|
||||
return receipt;
|
||||
}
|
||||
|
||||
Transaction::Transaction(const int value, Receipt receipt) : value(value), receipt(std::move(receipt)) {}
|
||||
std::tm &Transaction::getDate() {
|
||||
return date;
|
||||
}
|
||||
|
@ -6,19 +6,21 @@
|
||||
#define BUDGET_TRANSACTION_H
|
||||
|
||||
|
||||
#include <ctime>
|
||||
#include "recept.h"
|
||||
|
||||
class Transaction {
|
||||
public:
|
||||
Transaction(int value, Receipt receipt);
|
||||
|
||||
Receipt &getReceipt();
|
||||
|
||||
public:
|
||||
const int value;
|
||||
|
||||
Transaction(int value, Receipt receipt, std::tm date);
|
||||
Receipt &getReceipt();
|
||||
std::tm &getDate();
|
||||
|
||||
|
||||
private:
|
||||
Receipt receipt;
|
||||
std::tm date;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user