public async Task <LevyDeclarations> Get(string payeScheme) { _logger.Debug($"IApprenticeshipLevyApiClient.GetEmployerLevyDeclarations(\"{payeScheme}\");"); try { _levyApiClient = await _levyTokenHttpClientFactory.GetLevyHttpClient(); var response = await _levyApiClient.GetEmployerLevyDeclarations(payeScheme); if (response != null) { var filteredDeclarations = GetFilteredDeclarations(response.Declarations); response.Declarations = filteredDeclarations.OrderByDescending(x => x.SubmissionTime).ThenByDescending(x => x.Id).ToList(); } return(response); } catch (ApiHttpException ex) { var properties = new Dictionary <string, object> { { "RequestCtx.StatusCode", ex.HttpCode } }; _logger.Error(ex, "Issue retrieving levy declarations", properties); throw; } }
public HmrcService( IHmrcConfiguration configuration, IHttpClientWrapper httpClientWrapper, IApprenticeshipLevyApiClient apprenticeshipLevyApiClient, ITokenServiceApiClient tokenServiceApiClient, [RequiredPolicy(HmrcExecutionPolicy.Name)] ExecutionPolicy.ExecutionPolicy executionPolicy, IInProcessCache inProcessCache, IAzureAdAuthenticationService azureAdAuthenticationService, ILog log) { _configuration = configuration; _httpClientWrapper = httpClientWrapper; _apprenticeshipLevyApiClient = apprenticeshipLevyApiClient; _tokenServiceApiClient = tokenServiceApiClient; _executionPolicy = executionPolicy; _inProcessCache = inProcessCache; _azureAdAuthenticationService = azureAdAuthenticationService; _log = log; _httpClientWrapper.BaseUrl = _configuration.BaseUrl; _httpClientWrapper.AuthScheme = "Bearer"; _httpClientWrapper.MediaTypeWithQualityHeaderValueList = new List <MediaTypeWithQualityHeaderValue> { new MediaTypeWithQualityHeaderValue("application/vnd.hmrc.1.0+json") }; }
public HmrcGateway(ITokenServiceApiClient tokenService, IApprenticeshipLevyApiClient apprenticeshipLevyService, ILog logger) { _tokenService = tokenService; _apprenticeshipLevyService = apprenticeshipLevyService; _logger = logger; _retryPolicy = GetRetryPolicy(); }