public BudgetMaintenanceService(
[NotNull] IBudgetRepository budgetRepository,
[NotNull] IBudgetBucketRepository bucketRepo,
[NotNull] ILogger logger,
[NotNull] MonitorableDependencies monitorableDependencies)
{
if (budgetRepository == null)
{
throw new ArgumentNullException(nameof(budgetRepository));
}
if (bucketRepo == null)
{
throw new ArgumentNullException(nameof(bucketRepo));
}
if (logger == null)
{
throw new ArgumentNullException(nameof(logger));
}
if (monitorableDependencies == null) throw new ArgumentNullException(nameof(monitorableDependencies));
this.budgetRepository = budgetRepository;
this.logger = logger;
this.monitorableDependencies = monitorableDependencies;
BudgetBucketRepository = bucketRepo;
CreateNewBudgetCollection();
}