public async Task <ActionResult <List <HearingsByUsernameForDeletionResponse> > > GetHearingsByUsernameForDeletionAsync([FromQuery] string username)
        {
            try
            {
                var response = await _bookingsApiClient.GetHearingsByUsernameForDeletionAsync(username);

                return(Ok(response));
            }
            catch (BookingsApiException e)
            {
                switch (e.StatusCode)
                {
                case (int)HttpStatusCode.NotFound:
                    return(NotFound());

                case (int)HttpStatusCode.Unauthorized:
                    return(Unauthorized());

                default:
                    throw;
                }
            }
        }
Пример #2
0
        private async Task <bool> CheckPersonExistsInBookingsAsync(string username)
        {
            try
            {
                _logger.LogDebug("Attempting to check if {username} exists in Bookings API", username);
                await _bookingsApiClient.GetHearingsByUsernameForDeletionAsync(username);

                _logger.LogDebug("{username} exists in Bookings API", username);
                return(true);
            }
            catch (BookingsApiException e)
            {
                _logger.LogError(e, "Failed to get person {username} in User API. Status Code {StatusCode} - Message {Message}",
                                 username, e.StatusCode, e.Response);
                if (e.StatusCode == (int)HttpStatusCode.NotFound)
                {
                    _logger.LogWarning(e, "{username} not found. Status Code {StatusCode} - Message {Message}",
                                       username, e.StatusCode, e.Response);
                    return(false);
                }

                throw;
            }
        }