public async Task<FeefoClientResponse> GetFeedbackAsync(FeedbackRequest feedbackRequest, CancellationToken cancellationToken = default(CancellationToken)) { var httpClient = CreateHttpClient(); var queryString = _queryStringFactory.Create(_feefoSettings, feedbackRequest); var response = await httpClient.GetAsync(queryString, cancellationToken) .ConfigureAwait(false); response.EnsureSuccessStatusCode(); var jsonSettings = new JsonSerializerSettings { Formatting = Newtonsoft.Json.Formatting.Indented, ContractResolver = new CamelCasePropertyNamesContractResolver(), DateTimeZoneHandling = DateTimeZoneHandling.Utc, StringEscapeHandling = StringEscapeHandling.EscapeNonAscii, DefaultValueHandling = DefaultValueHandling.Ignore }; var content = await response.Content.ReadAsStringAsync() .ConfigureAwait(false); //content = Convert.ToBase64String(Encoding.UTF8.GetBytes(content)); var content2 = JsonConvert.DeserializeObject<Rootobject>(content, jsonSettings); return new FeefoClientResponse(content2?.FeedbackList); }
public async Task<FeefoClientResponse> GetFeedbackAsync(FeedbackRequest feedbackRequest, CancellationToken cancellationToken = default(CancellationToken)) { var httpClient = CreateHttpClient(); var queryString = _queryStringFactory.Create(_feefoSettings.Logon, feedbackRequest); var response = await httpClient.GetAsync(queryString, cancellationToken) .ConfigureAwait(false); response.EnsureSuccessStatusCode(); var content = await response.Content.ReadAsAsync<Rootobject>(cancellationToken) .ConfigureAwait(false); return new FeefoClientResponse(content?.FeedbackList); }
public string Create(IFeefoSettings settings, FeedbackRequest feedbackRequest) { var query = ""; if (!string.IsNullOrEmpty(settings.Logon)) { query = $"?logon={settings.Logon}&json=true"; } else if (!string.IsNullOrEmpty(settings.MerchantIdentifier)) { query = $"?merchantidentifier={settings.MerchantIdentifier}&json=true"; } if (feedbackRequest.VendorRef != null) { query += $"&vendorref={feedbackRequest.VendorRef}"; } if (feedbackRequest.Since != Since.None) { var since = _valueMaps.SinceValueMap[feedbackRequest.Since]; query += $"&since={since}"; } if (feedbackRequest.Sort != null) { var sortBy = _valueMaps.SortByValueMap[feedbackRequest.Sort.SortBy]; var order = feedbackRequest.Sort.Order == Order.Ascending ? "asc" : "desc"; query += $"&sortby={sortBy}&order={order}"; } if (feedbackRequest.Limit.HasValue) { query += $"&limit={feedbackRequest.Limit} "; } if (feedbackRequest.Mode != Mode.None) { var mode = _valueMaps.ModeValueMap[feedbackRequest.Mode]; query += $"&mode={mode}"; } return query; }
public string Create(string logon, FeedbackRequest feedbackRequest) { var query = $"?logon={logon}&json=true"; if (feedbackRequest.VendorRef != null) { query += $"&vendorref={feedbackRequest.VendorRef}"; } if (feedbackRequest.Since != Since.None) { var since = _valueMaps.SinceValueMap[feedbackRequest.Since]; query += $"&since={since}"; } if (feedbackRequest.Sort != null) { var sortBy = _valueMaps.SortByValueMap[feedbackRequest.Sort.SortBy]; var order = feedbackRequest.Sort.Order == Order.Ascending ? "asc" : "desc"; query += $"&sortby={sortBy}&order={order}"; } if (feedbackRequest.Limit.HasValue) { query += $"&limit={feedbackRequest.Limit.Value}"; } if (feedbackRequest.Mode != Mode.None) { var mode = _valueMaps.ModeValueMap[feedbackRequest.Mode]; query += $"&mode={mode}"; } return query; }