|
Finance manager
Лабораторна робота №2 - Документація коду
|
Реалізація основних функцій бізнес-логіки програми. More...
#include "Logic.h"#include <iostream>#include <iomanip>#include <fstream>#include <string>#include <vector>#include <limits>#include <thread>#include "Transaction.h"#include "ReportGenerator.h"#include "Importer.h"#include "Exporter.h"#include "CurrencyConverter.h"#include "MovingAverageStrategy.h"#include "Budget.h"#include <nlohmann/json.hpp>
Typedefs | |
| using | json = nlohmann::json |
Functions | |
| void | loadUserData (User &user, Database &db) |
| Завантажує дані користувача з JSON-файлу. | |
| void | saveUserData (const User &user) |
| Зберігає дані користувача у JSON-файл. | |
| void | loadUserDataAsync (User &user, Database &db, std::function< void()> onComplete) |
| void | saveUserDataAsync (User user, std::function< void()> onComplete) |
Реалізація основних функцій бізнес-логіки програми.
Цей файл містить реалізації для завантаження/збереження даних користувача (використовуючи nlohmann/json) та обробники для різних консольних (CLI) операцій, таких як додавання транзакцій, звіти тощо.
| using json = nlohmann::json |
Завантажує дані користувача з JSON-файлу.
Завантажує дані користувача з бази даних при старті програми.
Шукає файл з іменем <user.id>.json. Якщо файл не знайдено, виводить повідомлення про створення нового профілю. Якщо знайдено, парсить JSON та десеріалізує його в об'єкт User та заповнює об'єкт Database.
| user | Об'єкт користувача (вихідний параметр), який буде заповнено. |
| db | Об'єкт бази даних, який буде заповнено транзакціями. |
| void saveUserData | ( | const User & | user | ) |
Зберігає дані користувача у JSON-файл.
Зберігає дані користувача в базу даних (наприклад, при виході).
Серіалізує об'єкт User (включно з усіма транзакціями) у формат JSON та зберігає його у файл з іменем <user.id>.json.
| user | Об'єкт користувача (вхідний, const) для збереження. |
| void saveUserDataAsync | ( | User | user, |
| std::function< void()> | onComplete | ||
| ) |