internal static string ToJson(this IGetVenueByIdCriteria extendee) { GetVenueByIdJson json = new GetVenueByIdJson { id = extendee.Id }; var result = JsonConvert.SerializeObject(json); return(result); }
public async Task <IResult <IVenue> > GetVenueByIdAsync(IGetVenueByIdCriteria criteria) { Throw.IfNull(criteria, nameof(criteria)); _logger.LogMethodEnter(); try { _logger.LogInformationObject("Get Venue By Id criteria.", criteria); _logger.LogInformationObject("Get Venue By Id URI", _getVenueByIdUri); var content = new StringContent(criteria.ToJson(), Encoding.UTF8, "application/json"); var response = await _httpClient.PostAsync(_getVenueByIdUri, content); _logger.LogHttpResponseMessage("Get Venue By Id service http response", response); if (response.IsSuccessStatusCode) { var json = await response.Content.ReadAsStringAsync(); _logger.LogInformationObject("Get Venue By Id service json response", json); var settings = new JsonSerializerSettings { ContractResolver = new VenueSearchResultContractResolver() }; var venue = JsonConvert.DeserializeObject <Venue>(json, settings); return(Result.Ok <IVenue>(venue)); } else { return(Result.Fail <IVenue>("Get Venue ByI d service unsuccessful http response")); } } catch (HttpRequestException hre) { _logger.LogException("Get Venue By Id service http request error", hre); return(Result.Fail <IVenue>("Get Venue By Id service http request error.")); } catch (Exception e) { _logger.LogException("Get Venue By Id service unknown error.", e); return(Result.Fail <IVenue>("Get Venue By Id service unknown error.")); } finally { _logger.LogMethodExit(); } }
public async Task <IResult <IVenue> > GetVenueByIdAsync(IGetVenueByIdCriteria criteria) { Throw.IfNull(criteria, nameof(criteria)); _logger.LogMethodEnter(); try { _logger.LogInformationObject("Get Venue By Id criteria.", criteria); _logger.LogInformationObject("Get Venue By Id URI", _getVenueByIdUri); HttpClient httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", _settings.ApiKey); var response = await httpClient.GetAsync(_getVenueByIdUri.AbsoluteUri + $"?id={criteria.Id}"); _logger.LogHttpResponseMessage("Get Venue By Id service http response", response); if (response.IsSuccessStatusCode) { var json = await response.Content.ReadAsStringAsync(); _logger.LogInformationObject("Get Venue By Id service json response", json); var settings = new JsonSerializerSettings { ContractResolver = new VenueSearchResultContractResolver() }; var venue = JsonConvert.DeserializeObject <Venue>(json, settings); return(Result.Ok <IVenue>(venue)); } else { return(Result.Fail <IVenue>("Get Venue ByI d service unsuccessful http response")); } } catch (HttpRequestException hre) { _logger.LogException("Get Venue By Id service http request error", hre); return(Result.Fail <IVenue>("Get Venue By Id service http request error.")); } catch (Exception e) { _logger.LogException("Get Venue By Id service unknown error.", e); return(Result.Fail <IVenue>("Get Venue By Id service unknown error.")); } finally { _logger.LogMethodExit(); } }