/// <summary> /// Initializes a new instance of the <see cref="TeamPreferenceController"/> class. /// </summary> /// <param name="logger">Used to perform logging of errors and information.</param> /// <param name="telemetryClient">The Application Insights telemetry client.</param> /// <param name="teamPreferenceStorageHelper">Helper to create model for adding team preference and filtering unique tags.</param> /// <param name="teamPreferenceStorageProvider">Provider having methods to add and get team preferences from database.</param> /// <param name="teamPostSearchService">Search service for fetching posts as per criteria.</param> public TeamPreferenceController( ILogger <TeamPreferenceController> logger, TelemetryClient telemetryClient, ITeamPreferenceStorageHelper teamPreferenceStorageHelper, ITeamPreferenceStorageProvider teamPreferenceStorageProvider, IPostSearchService teamPostSearchService) : base(telemetryClient) { this.logger = logger; this.teamPreferenceStorageHelper = teamPreferenceStorageHelper; this.teamPreferenceStorageProvider = teamPreferenceStorageProvider; this.teamPostSearchService = teamPostSearchService; }
/// <summary> /// Initializes a new instance of the <see cref="SubmitIdeaActivityHandler"/> class. /// </summary> /// <param name="logger">Instance to send logs to the logger service.</param> /// <param name="localizer">The current cultures' string localizer.</param> /// <param name="telemetryClient">The Application Insights telemetry client.</param> /// <param name="messagingExtensionHelper">Messaging Extension helper dependency injection.</param> /// <param name="userState">State management object for maintaining user conversation state.</param> /// <param name="teamPreferenceStorageHelper">Team preference storage helper dependency injection.</param> /// <param name="teamPreferenceStorageProvider">Team preference storage provider dependency injection.</param> /// <param name="botOptions">A set of key/value application configuration properties for activity handler.</param> /// <param name="teamStorageProvider">Provider for fetching information about team details from storage.</param> public SubmitIdeaActivityHandler( ILogger <SubmitIdeaActivityHandler> logger, IStringLocalizer <Strings> localizer, TelemetryClient telemetryClient, IMessagingExtensionHelper messagingExtensionHelper, UserState userState, ITeamPreferenceStorageHelper teamPreferenceStorageHelper, ITeamPreferenceStorageProvider teamPreferenceStorageProvider, IOptions <BotSettings> botOptions, ITeamStorageProvider teamStorageProvider) { this.logger = logger; this.localizer = localizer; this.telemetryClient = telemetryClient; this.messagingExtensionHelper = messagingExtensionHelper; this.userState = userState; this.teamPreferenceStorageHelper = teamPreferenceStorageHelper; this.teamPreferenceStorageProvider = teamPreferenceStorageProvider; this.botOptions = botOptions ?? throw new ArgumentNullException(nameof(botOptions)); this.curatorTeamId = botOptions.Value.CuratorTeamId; this.teamStorageProvider = teamStorageProvider; }
/// <summary> /// Initializes a new instance of the <see cref="GoodReadsActivityHandler"/> class. /// </summary> /// <param name="logger">Instance to send logs to the Application Insights service.</param> /// <param name="localizer">The current cultures' string localizer.</param> /// <param name="telemetryClient">The Application Insights telemetry client.</param> /// <param name="options">>A set of key/value application configuration properties for activity handler.</param> /// <param name="messagingExtensionHelper">Messaging Extension helper dependency injection.</param> /// <param name="userState">State management object for maintaining user conversation state.</param> /// <param name="teamPreferenceStorageHelper">Team preference storage helper dependency injection.</param> /// <param name="teamPreferenceStorageProvider">Team preference storage provider dependency injection.</param> /// <param name="teamTagStorageProvider">Team tags storage provider dependency injection.</param> /// <param name="botOptions">A set of key/value application configuration properties for activity handler.</param> public GoodReadsActivityHandler( ILogger <GoodReadsActivityHandler> logger, IStringLocalizer <Strings> localizer, TelemetryClient telemetryClient, IOptions <GoodReadsActivityHandlerOptions> options, IMessagingExtensionHelper messagingExtensionHelper, UserState userState, ITeamPreferenceStorageHelper teamPreferenceStorageHelper, ITeamPreferenceStorageProvider teamPreferenceStorageProvider, ITeamTagStorageProvider teamTagStorageProvider, IOptions <BotSettings> botOptions) { this.logger = logger; this.localizer = localizer; this.telemetryClient = telemetryClient; this.options = options ?? throw new ArgumentNullException(nameof(options)); this.messagingExtensionHelper = messagingExtensionHelper; this.userState = userState; this.teamPreferenceStorageHelper = teamPreferenceStorageHelper; this.teamPreferenceStorageProvider = teamPreferenceStorageProvider; this.teamTagStorageProvider = teamTagStorageProvider; this.botOptions = botOptions ?? throw new ArgumentNullException(nameof(botOptions)); }