Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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;
        }
Example #4
0
        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;
        }