FOSSredder 0.5.0
Loading...
Searching...
No Matches
ui::adapters::AnalysisAdapter Class Referencefinal

#include <AnalysisAdapter.h>

Public Member Functions

 AnalysisAdapter (std::shared_ptr< core::ports::analysis::IAnalysisRunner > runner)
 Creates an analysis adapter backed by a core runner.
core::ports::analysis::AnalysisResult runAnalysis (const core::ports::workspace::WorkspaceSnapshot &workspace, const core::ports::analysis::AnalysisRequest &request) const
 Runs an analysis through the core runner.
core::ports::analysis::AnalysisPreviewResult previewTransactions (const core::ports::workspace::WorkspaceSnapshot &workspace, const std::string &filterSpec) const
 Builds preview transactions through the core runner.
core::ports::analysis::AnalysisRequest buildAnalysisRequest (const QString &analysisId, const QString &filterSpec) const
 Builds an analysis request from UI-facing ids and filter specs.
core::ports::analysis::AnalysisFilterSelection parseFilterSpec (const std::string &filterSpec) const
 Parses a serialized analysis filter specification through the core runner.
QString buildFilterSpec (const QString &dateField, const QString &dateMode, const QString &year, const QString &dateFrom, const QString &dateTo, const QStringList &propertyIds, const QStringList &contractTypes, const QString &allocatableMode) const
 Builds a serialized analysis filter specification from UI fields.
QVariantMap buildAnalysisAdjustmentAmounts (const QVariantList &transactions, const QStringList &selectedTransactionIds, double taxPercent) const
 Builds analysis adjustment amounts from preview rows.
core::ports::analysis::AnalysisAdjustmentAmounts adjustmentAmountsFromMap (const QVariantMap &amountsById) const
 Converts a QML adjustment amount map to core adjustment pairs.
double parseAnalysisPercentText (const QString &text, double defaultValue=0.0) const
 Parses user-entered percent text through the core runner.
void applyAnalysisPreviewOverrides (core::ports::workspace::WorkspaceSnapshot &workspace, const std::string &analysisId, bool includeCalculationAdjustments, const core::ports::analysis::AnalysisAdjustmentAmounts &adjustments) const
 Applies preview-only overrides to a workspace snapshot.
core::ports::analysis::AnalysisTableState projectTableState (const core::ports::analysis::AnalysisResult &result, const core::ports::analysis::AnalysisAdjustmentAmounts &adjustments, bool includeCalculationAdjustments, const std::string &unassignedLabel) const
 Projects table state for QML presentation.
std::vector< std::string > contractTypes (const core::ports::workspace::WorkspaceSnapshot &workspace) const
 Returns available contract types from the core runner.
QVariantMap mapAnalysisResult (const core::ports::analysis::AnalysisResult &result) const
 Maps an analysis result to a QML payload.
QVariantMap mapAnalysisTableState (const core::ports::analysis::AnalysisTableState &state) const
 Maps table state to a QML payload.
QVariantMap mapPreviewResult (const core::ports::analysis::AnalysisPreviewResult &preview) const
 Maps preview result to a QML payload.
QStringList mapContractTypes (const std::vector< std::string > &contractTypes) const
 Maps contract types to a QML string list.

Detailed Description

Definition at line 23 of file AnalysisAdapter.h.

Constructor & Destructor Documentation

◆ AnalysisAdapter()

ui::adapters::AnalysisAdapter::AnalysisAdapter ( std::shared_ptr< core::ports::analysis::IAnalysisRunner > runner)
explicit

Creates an analysis adapter backed by a core runner.

Parameters
runnerCore analysis runner port.

Definition at line 130 of file AnalysisAdapter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ adjustmentAmountsFromMap()

core::ports::analysis::AnalysisAdjustmentAmounts ui::adapters::AnalysisAdapter::adjustmentAmountsFromMap ( const QVariantMap & amountsById) const
nodiscard

Converts a QML adjustment amount map to core adjustment pairs.

Parameters
amountsByIdAdjustment amount map keyed by transaction id.
Returns
Core adjustment amount pairs.

Definition at line 231 of file AnalysisAdapter.cpp.

◆ applyAnalysisPreviewOverrides()

void ui::adapters::AnalysisAdapter::applyAnalysisPreviewOverrides ( core::ports::workspace::WorkspaceSnapshot & workspace,
const std::string & analysisId,
bool includeCalculationAdjustments,
const core::ports::analysis::AnalysisAdjustmentAmounts & adjustments ) const

Applies preview-only overrides to a workspace snapshot.

Parameters
workspaceWorkspace snapshot to mutate for preview only.
analysisIdTarget analysis id.
includeCalculationAdjustmentsWhether adjustments are included.
adjustmentsAdjustment amount pairs keyed by transaction id.

Definition at line 253 of file AnalysisAdapter.cpp.

◆ buildAnalysisAdjustmentAmounts()

QVariantMap ui::adapters::AnalysisAdapter::buildAnalysisAdjustmentAmounts ( const QVariantList & transactions,
const QStringList & selectedTransactionIds,
double taxPercent ) const

Builds analysis adjustment amounts from preview rows.

Parameters
transactionsPreview transaction rows.
selectedTransactionIdsSelected transaction ids.
taxPercentTax percentage applied by core.
Returns
Adjustment amount map keyed by transaction id.

Definition at line 219 of file AnalysisAdapter.cpp.

◆ buildAnalysisRequest()

core::ports::analysis::AnalysisRequest ui::adapters::AnalysisAdapter::buildAnalysisRequest ( const QString & analysisId,
const QString & filterSpec ) const
nodiscard

Builds an analysis request from UI-facing ids and filter specs.

Parameters
analysisIdAnalysis id.
filterSpecSerialized filter specification.
Returns
Core analysis request.

Definition at line 154 of file AnalysisAdapter.cpp.

Here is the call graph for this function:

◆ buildFilterSpec()

QString ui::adapters::AnalysisAdapter::buildFilterSpec ( const QString & dateField,
const QString & dateMode,
const QString & year,
const QString & dateFrom,
const QString & dateTo,
const QStringList & propertyIds,
const QStringList & contractTypes,
const QString & allocatableMode ) const

Builds a serialized analysis filter specification from UI fields.

Parameters
dateFieldSelected date field.
dateModeSelected date mode.
yearSelected year text.
dateFromStart date text.
dateToEnd date text.
propertyIdsSelected property ids.
contractTypesSelected contract types.
allocatableModeSelected allocatable mode.
Returns
Serialized filter specification.

Definition at line 181 of file AnalysisAdapter.cpp.

Here is the call graph for this function:

◆ contractTypes()

std::vector< std::string > ui::adapters::AnalysisAdapter::contractTypes ( const core::ports::workspace::WorkspaceSnapshot & workspace) const

Returns available contract types from the core runner.

Parameters
workspaceWorkspace snapshot used as input.
Returns
Contract type values.

Definition at line 274 of file AnalysisAdapter.cpp.

Here is the caller graph for this function:

◆ mapAnalysisResult()

QVariantMap ui::adapters::AnalysisAdapter::mapAnalysisResult ( const core::ports::analysis::AnalysisResult & result) const
nodiscard

Maps an analysis result to a QML payload.

Parameters
resultCore analysis result.
Returns
QML payload map.

Definition at line 280 of file AnalysisAdapter.cpp.

◆ mapAnalysisTableState()

QVariantMap ui::adapters::AnalysisAdapter::mapAnalysisTableState ( const core::ports::analysis::AnalysisTableState & state) const
nodiscard

Maps table state to a QML payload.

Parameters
stateCore table state.
Returns
QML payload map.

Definition at line 306 of file AnalysisAdapter.cpp.

Here is the call graph for this function:

◆ mapContractTypes()

QStringList ui::adapters::AnalysisAdapter::mapContractTypes ( const std::vector< std::string > & contractTypes) const
nodiscard

Maps contract types to a QML string list.

Parameters
contractTypesCore contract type values.
Returns
Contract type strings.

Definition at line 401 of file AnalysisAdapter.cpp.

Here is the call graph for this function:

◆ mapPreviewResult()

QVariantMap ui::adapters::AnalysisAdapter::mapPreviewResult ( const core::ports::analysis::AnalysisPreviewResult & preview) const
nodiscard

Maps preview result to a QML payload.

Parameters
previewCore preview result.
Returns
QML payload map.

Definition at line 334 of file AnalysisAdapter.cpp.

◆ parseAnalysisPercentText()

double ui::adapters::AnalysisAdapter::parseAnalysisPercentText ( const QString & text,
double defaultValue = 0.0 ) const
nodiscard

Parses user-entered percent text through the core runner.

Parameters
textPercent text.
defaultValueValue used when parsing fails or no runner exists.
Returns
Parsed percent value or default value.

Definition at line 244 of file AnalysisAdapter.cpp.

◆ parseFilterSpec()

core::ports::analysis::AnalysisFilterSelection ui::adapters::AnalysisAdapter::parseFilterSpec ( const std::string & filterSpec) const
nodiscard

Parses a serialized analysis filter specification through the core runner.

Parameters
filterSpecSerialized filter specification.
Returns
Core filter selection.

Definition at line 163 of file AnalysisAdapter.cpp.

Here is the caller graph for this function:

◆ previewTransactions()

core::ports::analysis::AnalysisPreviewResult ui::adapters::AnalysisAdapter::previewTransactions ( const core::ports::workspace::WorkspaceSnapshot & workspace,
const std::string & filterSpec ) const

Builds preview transactions through the core runner.

Parameters
workspaceWorkspace snapshot used as input.
filterSpecSerialized filter specification.
Returns
Preview result.

Definition at line 145 of file AnalysisAdapter.cpp.

Here is the call graph for this function:

◆ projectTableState()

core::ports::analysis::AnalysisTableState ui::adapters::AnalysisAdapter::projectTableState ( const core::ports::analysis::AnalysisResult & result,
const core::ports::analysis::AnalysisAdjustmentAmounts & adjustments,
bool includeCalculationAdjustments,
const std::string & unassignedLabel ) const

Projects table state for QML presentation.

Parameters
resultAnalysis result.
adjustmentsAdjustment amount pairs keyed by transaction id.
includeCalculationAdjustmentsWhether adjustments are included.
unassignedLabelLabel for unassigned contracts.
Returns
Core table projection.

Definition at line 263 of file AnalysisAdapter.cpp.

◆ runAnalysis()

core::ports::analysis::AnalysisResult ui::adapters::AnalysisAdapter::runAnalysis ( const core::ports::workspace::WorkspaceSnapshot & workspace,
const core::ports::analysis::AnalysisRequest & request ) const

Runs an analysis through the core runner.

Parameters
workspaceWorkspace snapshot used as input.
requestAnalysis request.
Returns
Core analysis result.

Definition at line 134 of file AnalysisAdapter.cpp.

Here is the call graph for this function:

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