Esempio n. 1
0
        /// <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,
            IEndorsementsStorageProvider endorseDetailStorageProvider,
            IRewardCycleStorageProvider rewardCycleStorageProvider,
            IAwardNominationSearchService 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.configureAdminStorageProvider = configureAdminStorageProvider;
            this.teamStorageProvider           = teamStorageProvider;
            this.awardsStorageProvider         = awardsStorageProvider;
            this.endorseDetailStorageProvider  = endorseDetailStorageProvider;
            this.rewardCycleStorageProvider    = rewardCycleStorageProvider;
            this.nominateDetailSearchService   = nominateDetailSearchService;
            this.botAdapter                    = botAdapter;
            this.microsoftAppCredentials       = microsoftAppCredentials;
        }
Esempio n. 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NominationsController"/> class.
 /// </summary>
 /// <param name="logger">Provider to store logs in Azure Application Insights.</param>
 /// <param name="storageProvider">Nominate award detail storage provider.</param>
 /// <param name="endorseStorageProvider">Endorsement storage provider.</param>
 /// <param name="teamsInfoHelper">Provider to fetch team details from bot adapter.</param>
 public NominationsController(
     ILogger <NominationsController> logger,
     IAwardNominationStorageProvider storageProvider,
     IEndorsementsStorageProvider endorseStorageProvider,
     ITeamsInfoHelper teamsInfoHelper)
 {
     this.logger                 = logger;
     this.storageProvider        = storageProvider;
     this.endorseStorageProvider = endorseStorageProvider;
     this.teamsInfoHelper        = teamsInfoHelper;
 }