/// <summary> /// Initializes a new instance of the <see cref="UserVoteStorageHelper"/> class. /// </summary> /// <param name="logger">Logger implementation to send logs to the logger service.</param> /// <param name="userVoteStorageProvider">User vote storage provider dependency injection.</param> public UserVoteStorageHelper( ILogger <UserVoteStorageHelper> logger, IUserVoteStorageProvider userVoteStorageProvider) { this.logger = logger; this.userVoteStorageProvider = userVoteStorageProvider; }
/// <summary> /// Initializes a new instance of the <see cref="UserVoteController"/> 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="userVoteStorageProvider">Provider for working with user vote data in storage.</param> /// <param name="postStorageProvider">Provider to fetch posts from storage.</param> /// <param name="postSearchService">Search service instance for fetching posts using filters and search queries.</param> public UserVoteController( ILogger <TeamPostController> logger, TelemetryClient telemetryClient, IUserVoteStorageProvider userVoteStorageProvider, IPostStorageProvider postStorageProvider, IPostSearchService postSearchService) : base(telemetryClient) { this.logger = logger; this.userVoteStorageProvider = userVoteStorageProvider; this.postStorageProvider = postStorageProvider; this.postSearchService = postSearchService; this.retryPolicy = Policy.Handle <StorageException>(ex => ex.RequestInformation.HttpStatusCode == StatusCodes.Status412PreconditionFailed) .WaitAndRetryAsync(Backoff.LinearBackoff(TimeSpan.FromMilliseconds(250), 25)); }