FOSSredder 0.5.0
Loading...
Searching...
No Matches
AnnualPolicy.h File Reference

Shared annual validation helpers. More...

#include <charconv>
#include <algorithm>
#include <cctype>
#include <memory>
#include <optional>
#include <regex>
#include <string>
#include <vector>
#include <utility>
#include "core/domain/entities/Transaction.h"
#include "core/domain/values/Year.h"
Include dependency graph for AnnualPolicy.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  core::domain::policies::annual::AnnualValidationIssue
class  core::domain::policies::annual::AnnualValidationResult

Namespaces

namespace  core
namespace  core::domain
namespace  core::domain::policies
namespace  core::domain::policies::annual

Functions

bool core::domain::policies::annual::isValidYear (int year)
 Checks whether a year is valid for annual aggregates.
bool core::domain::policies::annual::isValidAnnual (int year, const std::vector< std::string > &analysisIds)
 Checks whether an annual aggregate is structurally valid.
std::string core::domain::policies::annual::normalizeId (std::string value)
 Trims leading and trailing whitespace from an id.
bool core::domain::policies::annual::containsAnalysisId (const std::vector< std::string > &analysisIds, const std::string &analysisId)
 Checks whether an analysis id exists in a list.
bool core::domain::policies::annual::hasUniqueAnalysisIds (const std::vector< std::string > &analysisIds)
 Checks whether all analysis ids are unique.
bool core::domain::policies::annual::containsAllAnalysisIds (const std::vector< std::string > &analysisIds, const std::vector< std::string > &requiredIds)
 Checks whether a list contains all required analysis ids.
void core::domain::policies::annual::normalizeIds (std::vector< std::string > &values)
 Normalizes and deduplicates analysis ids.
std::optional< int > core::domain::policies::annual::extractBookingYear (const std::string &bookingDate)
 Extracts the year component from a booking date.
AnnualValidationResult core::domain::policies::annual::validateTransactionsForYear (int year, const std::vector< std::shared_ptr< core::domain::Transaction > > &transactions)
 Validates that transaction booking years match the annual year.

Detailed Description

Shared annual validation helpers.

Definition in file AnnualPolicy.h.