Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 4
0
        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));
            }
        }