public TransactionRuleService(
[NotNull] IMatchingRuleRepository ruleRepository,
[NotNull] ILogger logger,
[NotNull] IMatchmaker matchmaker,
[NotNull] IMatchingRuleFactory ruleFactory,
[NotNull] IEnvironmentFolders environmentFolders,
[NotNull] MonitorableDependencies monitorableDependencies)
{
if (ruleRepository == null)
{
throw new ArgumentNullException(nameof(ruleRepository));
}
if (logger == null)
{
throw new ArgumentNullException(nameof(logger));
}
if (matchmaker == null)
{
throw new ArgumentNullException(nameof(matchmaker));
}
if (ruleFactory == null)
{
throw new ArgumentNullException(nameof(ruleFactory));
}
if (environmentFolders == null) throw new ArgumentNullException(nameof(environmentFolders));
if (monitorableDependencies == null) throw new ArgumentNullException(nameof(monitorableDependencies));
this.ruleRepository = ruleRepository;
this.logger = logger;
this.matchmaker = matchmaker;
this.ruleFactory = ruleFactory;
this.environmentFolders = environmentFolders;
this.monitorableDependencies = monitorableDependencies;
this.matchingRules = new List<MatchingRule>();
this.matchingRulesGroupedByBucket = new List<RulesGroupedByBucket>();
}