/// <summary> /// Initializes a new instance of the <see cref="RewardAndRecognitionActivityHandler"/> class. /// </summary> /// <param name="logger">The logger.</param> /// <param name="localizer">The current cultures' string localizer.</param> /// <param name="telemetryClient">The application insights telemetry client. </param> /// <param name="options">The options.</param> /// <param name="telemetryOptions">Telemetry instrumentation key</param> /// <param name="configureAdminStorageProvider">Provider for fetching information about admin details from storage table.</param> /// <param name="teamStorageProvider">Provider for fetching information about team details from storage table.</param> /// <param name="awardsStorageProvider">Provider for fetching information about awards from storage table.</param> /// <param name="endorseDetailStorageProvider">Provider for fetching information about endorsement details from storage table.</param> /// <param name="rewardCycleStorageProvider">Provider for fetching information about active award cycle details from storage table.</param> /// <param name="nominateDetailSearchService">Provider to search nomination details in Azure search service.</param> /// <param name="botAdapter">Bot adapter.</param> /// <param name="microsoftAppCredentials">MicrosoftAppCredentials of bot.</param> public RewardAndRecognitionActivityHandler( ILogger <RewardAndRecognitionActivityHandler> logger, IStringLocalizer <Strings> localizer, TelemetryClient telemetryClient, IOptions <RewardAndRecognitionActivityHandlerOptions> options, IOptions <TelemetryOptions> telemetryOptions, IConfigureAdminStorageProvider configureAdminStorageProvider, ITeamStorageProvider teamStorageProvider, IAwardsStorageProvider awardsStorageProvider, IEndorseDetailStorageProvider endorseDetailStorageProvider, IRewardCycleStorageProvider rewardCycleStorageProvider, INominateDetailSearchService nominateDetailSearchService, BotFrameworkAdapter botAdapter, MicrosoftAppCredentials microsoftAppCredentials) { options = options ?? throw new ArgumentNullException(nameof(options)); telemetryOptions = telemetryOptions ?? throw new ArgumentNullException(nameof(telemetryOptions)); this.logger = logger; this.localizer = localizer; this.telemetryClient = telemetryClient; this.options = options; this.instrumentationKey = telemetryOptions.Value.InstrumentationKey; this.appBaseUrl = this.options.Value.AppBaseUri; this.configureAdminStorageProvider = configureAdminStorageProvider; this.teamStorageProvider = teamStorageProvider; this.awardsStorageProvider = awardsStorageProvider; this.endorseDetailStorageProvider = endorseDetailStorageProvider; this.rewardCycleStorageProvider = rewardCycleStorageProvider; this.nominateDetailSearchService = nominateDetailSearchService; this.botAdapter = botAdapter; this.microsoftAppCredentials = microsoftAppCredentials; }
/// <summary> /// Initializes a new instance of the <see cref="ConfigureAdminController"/> class. /// </summary> /// <param name="logger">Instance to send logs to the application insights service.</param> /// <param name="storageProvider">Provider to store admin details in Azure Table Storage.</param> /// <param name="teamsInfoHelper">Provider to fetch team details from bot adapter.</param> public ConfigureAdminController( ILogger <ConfigureAdminController> logger, IConfigureAdminStorageProvider storageProvider, ITeamsInfoHelper teamsInfoHelper) : base() { this.logger = logger; this.storageProvider = storageProvider; this.teamsInfoHelper = teamsInfoHelper; }
/// <summary> /// Initializes a new instance of the <see cref="ConfigureAdminController"/> class. /// </summary> /// <param name="logger">Instance to send logs to the application insights service.</param> /// <param name="botAdapter">Reward and Recognition bot adapter.</param> /// <param name="microsoftAppCredentials">Microsoft Application credentials for Bot/ME.</param> /// <param name="storageProvider">Provider to store admin details in Azure Table Storage.</param> /// <param name="teamStorageProvider">Store or update teams details in Azure table storage.</param> public ConfigureAdminController( ILogger <ConfigureAdminController> logger, BotFrameworkAdapter botAdapter, MicrosoftAppCredentials microsoftAppCredentials, IConfigureAdminStorageProvider storageProvider, ITeamStorageProvider teamStorageProvider) : base() { this.logger = logger; this.botAdapter = botAdapter; this.teamStorageProvider = teamStorageProvider; this.appId = microsoftAppCredentials != null ? microsoftAppCredentials.MicrosoftAppId : throw new ArgumentNullException(nameof(microsoftAppCredentials)); this.storageProvider = storageProvider; }
/// <summary> /// Initializes a new instance of the <see cref="MustBeTeamCaptainAccessUserHandler"/> class. /// </summary> /// <param name="adminStorageProvider">The admin storage provider.</param> public MustBeTeamCaptainAccessUserHandler(IConfigureAdminStorageProvider adminStorageProvider) { this.adminStorageProvider = adminStorageProvider; }