FOSSredder 0.5.0
Loading...
Searching...
No Matches
AnalysisWorkflowSupport.h
Go to the documentation of this file.
1
5
6#pragma once
7
10
11#include <optional>
12#include <string>
13#include <utility>
14#include <vector>
15
17
19 std::string id;
20 double amount = 0.0;
21};
22
23[[nodiscard]] std::string buildAnalysisConfigJson(
25
27filterSelectionFromFields(const std::string& dateField,
28 const std::string& dateMode,
29 const std::string& year,
30 const std::string& dateFrom,
31 const std::string& dateTo,
32 const std::vector<std::string>& propertyIds,
33 const std::vector<std::string>& contractTypes,
34 const std::string& allocatableMode);
35
36[[nodiscard]] std::vector<std::pair<std::string, double>>
37parseAnalysisAdjustmentsJson(const std::string& adjustmentsJson);
38
44[[nodiscard]] std::optional<double> parseAnalysisPercentText(
45 const std::string& text);
46
47[[nodiscard]] std::string
49 const std::vector<AnalysisAdjustmentTransactionInput>& transactions,
50 const std::vector<std::string>& selectedTransactionIds,
51 double taxPercent);
52
55 const std::string& analysisId,
56 bool includeCalculationAdjustments,
57 const std::vector<std::pair<std::string, double>>& adjustments);
58
59[[nodiscard]] std::vector<std::string>
61
62} // namespace core::application::analysis
Declares analysis use-case request DTOs and filter-spec helpers.
Immutable workspace read-model snapshot exposed through workspace ports.
std::vector< std::string > contractTypesFromSnapshot(const core::ports::workspace::WorkspaceSnapshot &workspace)
core::ports::analysis::AnalysisFilterSelection filterSelectionFromFields(const std::string &dateField, const std::string &dateMode, const std::string &year, const std::string &dateFrom, const std::string &dateTo, const std::vector< std::string > &propertyIds, const std::vector< std::string > &contractTypes, const std::string &allocatableMode)
std::string buildAnalysisAdjustmentsJson(const std::vector< AnalysisAdjustmentTransactionInput > &transactions, const std::vector< std::string > &selectedTransactionIds, double taxPercent)
std::optional< double > parseAnalysisPercentText(const std::string &text)
Parses a user-entered analysis percentage.
void applyAnalysisPreviewOverrides(core::ports::workspace::WorkspaceSnapshot &workspace, const std::string &analysisId, bool includeCalculationAdjustments, const std::vector< std::pair< std::string, double > > &adjustments)
std::vector< std::pair< std::string, double > > parseAnalysisAdjustmentsJson(const std::string &adjustmentsJson)
std::string buildAnalysisConfigJson(const core::ports::analysis::AnalysisConfigInput &input)