public TournamentController(IGlobalSettings globalSettings, IUmbracoContextAccessor umbracoContextAccessor, ServiceContext serviceContext, AppCaches appCaches, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper, ITournamentDataSource tournamentDataSource, IMatchListingDataSource matchDataSource, IMatchFilterFactory matchFilterFactory, ICommentsDataSource <Tournament> commentsDataSource, IAuthorizationPolicy <Tournament> authorizationPolicy, IDateTimeFormatter dateFormatter, IEmailProtector emailProtector, IBadLanguageFilter badLanguageFilter) : base(globalSettings, umbracoContextAccessor, serviceContext, appCaches, profilingLogger, umbracoHelper) { _tournamentDataSource = tournamentDataSource ?? throw new ArgumentNullException(nameof(tournamentDataSource)); _matchDataSource = matchDataSource ?? throw new ArgumentNullException(nameof(matchDataSource)); _matchFilterFactory = matchFilterFactory ?? throw new ArgumentNullException(nameof(matchFilterFactory)); _commentsDataSource = commentsDataSource ?? throw new ArgumentNullException(nameof(commentsDataSource)); _authorizationPolicy = authorizationPolicy ?? throw new ArgumentNullException(nameof(authorizationPolicy)); _dateFormatter = dateFormatter ?? throw new ArgumentNullException(nameof(dateFormatter)); _emailProtector = emailProtector ?? throw new ArgumentNullException(nameof(emailProtector)); _badLanguageFilter = badLanguageFilter ?? throw new ArgumentNullException(nameof(badLanguageFilter)); }