private async Task LookupCompaniesHouseDetails(ApplyGatewayDetails applyGatewayDetails, string companyNumber) { var companyDetails = await _companiesHouseApiClient.GetCompany(companyNumber); if (companyDetails == null) { var message = $"Unable to retrieve Companies House details for company number {companyNumber}"; _logger.LogError(message); throw new ServiceUnavailableException(message); } applyGatewayDetails.CompaniesHouseDetails = Mapper.Map <CompaniesHouseSummary>(companyDetails.Response); }
public async Task <Company> GetCompanyDetails(string companyNumber) { _logger.LogInformation($"GetCompanyDetails({companyNumber})"); Company company = null; try { company = await _companiesHouseApiClient.GetCompany(companyNumber); } catch (Exception ex) { _logger.LogError($"Error from Companies House. Message: {ex.Message}"); } return(company); }
private async Task LookupCompaniesHouseDetails(ApplyGatewayDetails applyGatewayDetails, string companyNumber) { ApiResponse <Types.CompaniesHouse.Company> companyDetails = null; try { companyDetails = await _companiesHouseApiClient.GetCompany(companyNumber); } catch (Exception ex) { var message = $"Unable to retrieve results from companies house for company number {companyNumber}"; _logger.LogError(message, ex); throw new ServiceUnavailableException(message); } if (string.IsNullOrEmpty(companyDetails?.Response?.CompanyName)) { var message = $"Unable to retrieve Companies House details for company number {companyNumber}"; _logger.LogError(message); throw new ServiceUnavailableException(message); } applyGatewayDetails.CompaniesHouseDetails = Mapper.Map <CompaniesHouseSummary>(companyDetails.Response); }
public async Task <IActionResult> CompanyDetails(string companyNumber) { try { var companyDetails = await _retryPolicy.ExecuteAsync(context => _apiClient.GetCompany(companyNumber), new Context()); if (!companyDetails.Success) { return(StatusCode(StatusCodes.Status503ServiceUnavailable)); } if (companyDetails.Response == null) { return(NotFound()); } return(Ok(companyDetails.Response)); } catch (ServiceUnavailableException) { return(StatusCode(StatusCodes.Status503ServiceUnavailable)); } }