Finance manager
Лабораторна робота №2 - Документація коду
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
ReportGenerator Class Reference

"Сервісний" клас для генерації фінансових звітів. More...

#include <ReportGenerator.h>

Public Member Functions

 ReportGenerator (const std::string &title="Finance Report")
 Конструктор ReportGenerator.
 
void addTransaction (const Transaction &t)
 Додає одну транзакцію до вектора transactions.
 
double calculateTotal () const
 Розраховує загальну суму всіх транзакцій.
 
double calculateByCategory (const std::string &categoryId) const
 Розраховує загальну суму для конкретної категорії.
 
double calculateByAccount (const std::string &accountId) const
 Розраховує загальну суму для конкретного рахунку.
 
void exportToCSV (const std::string &filePath) const
 Експортує всі транзакції у файл формату CSV.
 
void exportToJSON (const std::string &filePath) const
 Експортує всі транзакції у файл формату JSON.
 
std::map< std::string, double > preparePieChartData () const
 Готує дані для кругової діаграми (Pie Chart).
 

Public Attributes

std::string reportTitle
 Заголовок, який буде використовуватися у згенерованих звітах.
 
std::vector< Transactiontransactions
 Вектор транзакцій, на основі якого будується звіт.
 

Detailed Description

"Сервісний" клас для генерації фінансових звітів.

Цей клас приймає вектор транзакцій та надає методи для розрахунку статистики (загальна сума, за категоріями) та експорту даних у різні формати (CSV, JSON).

Constructor & Destructor Documentation

◆ ReportGenerator()

ReportGenerator::ReportGenerator ( const std::string &  title = "Finance Report")
inline

Конструктор ReportGenerator.

Parameters
titleЗаголовок звіту, що встановлюється для reportTitle.

Member Function Documentation

◆ addTransaction()

void ReportGenerator::addTransaction ( const Transaction t)

Додає одну транзакцію до вектора transactions.

Parameters
tТранзакція, яку потрібно додати.

◆ calculateByAccount()

double ReportGenerator::calculateByAccount ( const std::string &  accountId) const

Розраховує загальну суму для конкретного рахунку.

Parameters
accountIdID рахунку, за яким фільтруються транзакції.
Returns
Загальна сума (double) для цього рахунку.

◆ calculateByCategory()

double ReportGenerator::calculateByCategory ( const std::string &  categoryId) const

Розраховує загальну суму для конкретної категорії.

Parameters
categoryIdID категорії, за якою фільтруються транзакції.
Returns
Загальна сума (double) для цієї категорії.

◆ calculateTotal()

double ReportGenerator::calculateTotal ( ) const

Розраховує загальну суму всіх транзакцій.

Returns
Загальна сума (double).

◆ exportToCSV()

void ReportGenerator::exportToCSV ( const std::string &  filePath) const

Експортує всі транзакції у файл формату CSV.

Parameters
filePathПовний шлях до файлу (включно з .csv), куди буде збережено звіт.

◆ exportToJSON()

void ReportGenerator::exportToJSON ( const std::string &  filePath) const

Експортує всі транзакції у файл формату JSON.

Parameters
filePathПовний шлях до файлу (включно з .json), куди буде збережено звіт.

◆ preparePieChartData()

std::map< std::string, double > ReportGenerator::preparePieChartData ( ) const

Готує дані для кругової діаграми (Pie Chart).

Групує транзакції за категоріями та підсумовує їх.

Returns
std::map, де ключ (string) - це categoryId, а значення (double) - це загальна сума для цієї категорії.

Member Data Documentation

◆ reportTitle

std::string ReportGenerator::reportTitle

Заголовок, який буде використовуватися у згенерованих звітах.

◆ transactions

std::vector<Transaction> ReportGenerator::transactions

Вектор транзакцій, на основі якого будується звіт.


The documentation for this class was generated from the following files: