public ReportService([NotNull] IDataQueryDispatcher dataQueryDispatcher,
                             [NotNull] ICommandDispatcher commandDispatcher)
        {
            if (dataQueryDispatcher == null)
            {
                throw new ArgumentNullException(nameof(dataQueryDispatcher));
            }
            if (commandDispatcher == null)
            {
                throw new ArgumentNullException(nameof(commandDispatcher));
            }

            _dataQueryDispatcher = dataQueryDispatcher;
            _commandDispatcher   = commandDispatcher;
        }
 public ApiService(
     [NotNull] IUserAuthorityValidator userAuthorityValidator,
     [NotNull] ICommandDispatcher commandDispatcher,
     [NotNull] ITaskRepository taskRepository,
     [NotNull] IProjectRepository projectRepository,
     [NotNull] INotificationRuleRepository notificationRuleRepository,
     [NotNull] IProjectPluginSettingsProvider projectPluginSettingsProvider,
     [NotNull] IUserPrincipal userPrincipal,
     [NotNull] IUserPluginSettingsProvider userPluginSettingsProvider,
     [NotNull] IAuthorityProvider authorityProvider,
     [NotNull] IConfigurationProvider configurationProvider,
     [NotNull] IPolicyRuleRepository policyRuleRepository,
     [NotNull] IUserInfoProvider userInfoProvider,
     [NotNull] IMailConnectionParametersProvider mailConnectionParametersProvider,
     [NotNull] ITaskResultRepository taskResultRepository,
     [NotNull] IPluginFactory pluginFactory,
     [NotNull] IUserInterfaceChecker userInterfaceChecker,
     [NotNull] IDataQueryDispatcher dataQueryDispatcher,
     [NotNull] ISettingsHelper settingsHelper)
 {
     _userAuthorityValidator        = userAuthorityValidator;
     _commandDispatcher             = commandDispatcher;
     _taskRepository                = taskRepository;
     _projectRepository             = projectRepository;
     _notificationRuleRepository    = notificationRuleRepository;
     _projectPluginSettingsProvider = projectPluginSettingsProvider;
     _userPrincipal = userPrincipal;
     _userPluginSettingsProvider       = userPluginSettingsProvider;
     _authorityProvider                = authorityProvider;
     _configurationProvider            = configurationProvider;
     _policyRuleRepository             = policyRuleRepository;
     _userInfoProvider                 = userInfoProvider;
     _mailConnectionParametersProvider = mailConnectionParametersProvider;
     _taskResultRepository             = taskResultRepository;
     _pluginFactory        = pluginFactory;
     _userInterfaceChecker = userInterfaceChecker;
     _dataQueryDispatcher  = dataQueryDispatcher;
     _settingsHelper       = settingsHelper;
 }