Finance manager
Лабораторна робота №2 - Документація коду
Loading...
Searching...
No Matches
Importer.h
Go to the documentation of this file.
1#pragma once
2#include <string>
3#include <vector>
4#include <ctime>
5#include "Transaction.h"
6#include "Result.h"
7
20class Importer {
21public:
22 std::string sourceName;
23
30 virtual ~Importer() = default;
31
41 virtual Result<std::vector<Transaction>> import() = 0;
42};
43
44
52class CSVImporter : public Importer {
53public:
58 CSVImporter(const std::string& filePath);
59
69 Result<std::vector<Transaction>> import() override;
70
71private:
80 std::time_t parseDate(const std::string& dateStr) const;
81
82 std::string path;
83};
Оголошення шаблонного класу Result<T> для обробки успішних/невдалих операцій.
Оголошення класу Transaction, що представляє одну фінансову операцію.
Конкретна реалізація імпортера, що читає транзакції з CSV файлу.
Definition Importer.h:52
std::string path
Шлях до CSV файлу, що зберігається з конструктора.
Definition Importer.h:82
std::time_t parseDate(const std::string &dateStr) const
Допоміжна функція для парсингу дати з рядка.
Definition Importer.cpp:11
Абстрактний базовий клас (інтерфейс) для всіх імпортерів даних.
Definition Importer.h:20
virtual ~Importer()=default
Віртуальний деструктор.
std::string sourceName
Назва джерела (напр., "Monobank API", "MyBank.csv").
Definition Importer.h:22
Шаблонний клас, що інкапсулює результат операції, яка може бути успішною (з даними) або невдалою (з п...
Definition Result.h:26