public DashboardService(
[NotNull] IWidgetService widgetService,
[NotNull] IBudgetBucketRepository bucketRepository,
[NotNull] IBudgetRepository budgetRepository,
[NotNull] ILogger logger,
[NotNull] MonitorableDependencies monitorableDependencies)
{
if (widgetService == null)
{
throw new ArgumentNullException(nameof(widgetService));
}
if (bucketRepository == null)
{
throw new ArgumentNullException(nameof(bucketRepository));
}
if (budgetRepository == null)
{
throw new ArgumentNullException(nameof(budgetRepository));
}
if (logger == null)
{
throw new ArgumentNullException(nameof(logger));
}
if (monitorableDependencies == null) throw new ArgumentNullException(nameof(monitorableDependencies));
this.widgetService = widgetService;
this.bucketRepository = bucketRepository;
this.budgetRepository = budgetRepository;
this.logger = logger;
this.monitoringServices = monitorableDependencies;
this.monitoringServices.DependencyChanged += OnMonitoringServicesDependencyChanged;
}