|
Finance manager
Лабораторна робота №2 - Документація коду
|
Представляє одну фінансову операцію (дохід, витрата тощо). More...
#include <Transaction.h>
Public Member Functions | |
| void | addTransaction () |
| Встановлює час створення транзакції. (Зараз - заглушка). | |
| std::vector< Transaction > | splitTransaction (const std::vector< std::pair< double, std::string > > &parts) |
| Розділяє одну транзакцію на декілька менших. | |
| void | tagTransaction (const std::string &tag) |
| Додає тег до транзакції. | |
| void | undoTransaction () |
| Скасовує транзакцію (наразі заглушка). | |
Public Attributes | |
| std::string | id |
| Унікальний ідентифікатор транзакції. | |
| double | amount = 0.0 |
| Сума транзакції (додатна - дохід, від'ємна - витрата). | |
| std::time_t | date = 0 |
| Дата та час транзакції (у форматі Unix timestamp). | |
| std::string | description |
| Короткий опис, наданий користувачем. | |
| std::string | categoryId |
| Ідентифікатор категорії (напр., "food", "rent"). | |
| std::string | accountId |
| Ідентифікатор рахунку, з якого/на який було здійснено платіж. | |
| std::string | currency = "USD" |
| Код валюти | |
| double | exchangeRate = 1.0 |
| Обмінний курс відносно базової валюти (якщо не 1.0). | |
| std::vector< std::string > | tags |
| Список тегів для фільтрації (напр., "work", "vacation"). | |
| std::string | recurringRule |
| Правило повторення (напр., "monthly:5" - щомісяця 5-го числа). | |
| std::string | importedSource |
| Джерело імпорту (напр., "CSV:monobank.csv"). | |
| std::string | note |
| Додаткова розширена примітка. | |
| std::time_t | createdAt = 0 |
| Час створення запису (Unix timestamp). | |
| std::time_t | updatedAt = 0 |
| Час останнього оновлення запису (Unix timestamp). | |
Представляє одну фінансову операцію (дохід, витрата тощо).
Це основна структура даних для зберігання всієї інформації, пов'язаної з окремим фінансовим рухом, включаючи суму, дату, категорію, теги та метадані.
|
inline |
Встановлює час створення транзакції. (Зараз - заглушка).
|
inline |
Розділяє одну транзакцію на декілька менших.
Корисно для випадків, коли один чек містить декілька категорій (напр., у супермаркеті куплено "їжу" та "побутову хімію").
| parts | Вектор пар, де кожна пара це {сума, categoryId} для нової транзакції. |
|
inline |
Додає тег до транзакції.
| tag | Рядок тегу, який потрібно додати до вектора tags. |
|
inline |
Скасовує транзакцію (наразі заглушка).
(Майбутня логіка може включати створення зворотної транзакції).
| std::string Transaction::accountId |
Ідентифікатор рахунку, з якого/на який було здійснено платіж.
| double Transaction::amount = 0.0 |
Сума транзакції (додатна - дохід, від'ємна - витрата).
| std::string Transaction::categoryId |
Ідентифікатор категорії (напр., "food", "rent").
| std::time_t Transaction::createdAt = 0 |
Час створення запису (Unix timestamp).
| std::string Transaction::currency = "USD" |
Код валюти
| std::time_t Transaction::date = 0 |
Дата та час транзакції (у форматі Unix timestamp).
| std::string Transaction::description |
Короткий опис, наданий користувачем.
| double Transaction::exchangeRate = 1.0 |
Обмінний курс відносно базової валюти (якщо не 1.0).
| std::string Transaction::id |
Унікальний ідентифікатор транзакції.
| std::string Transaction::importedSource |
Джерело імпорту (напр., "CSV:monobank.csv").
| std::string Transaction::note |
Додаткова розширена примітка.
| std::string Transaction::recurringRule |
Правило повторення (напр., "monthly:5" - щомісяця 5-го числа).
| std::vector<std::string> Transaction::tags |
Список тегів для фільтрації (напр., "work", "vacation").
| std::time_t Transaction::updatedAt = 0 |
Час останнього оновлення запису (Unix timestamp).