public static IList <Config> SetConfigValuesEx(this DataServiceQuery <Config> service, UpdateConfigValuesDescriptor updateConfigValuesDescriptor)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = service.Context.BaseUri;

                var settings = new JsonSerializerSettings
                {
                    Converters = new List <JsonConverter> {
                        new StringEnumConverter {
                            CamelCaseText = false
                        }
                    }
                };

                var requestUriPath  = service.SetConfigValues(null).RequestUri.PathAndQuery;
                var stringPayload   = JsonConvert.SerializeObject(updateConfigValuesDescriptor, settings);
                var httpContent     = new StringContent(stringPayload, Encoding.UTF8, "application/json");
                var responseMessage = client.PostAsync(requestUriPath, httpContent).Result;

                if (!responseMessage.IsSuccessStatusCode)
                {
                    throw new ServerException(responseMessage);
                }

                var responseJson   = responseMessage.Content.ReadAsStringAsync().Result;
                var valueObject    = JObject.Parse(responseJson);
                var updatedConfigs = valueObject.SelectToken("value").ToObject <IList <Config> >();

                return(updatedConfigs);
            }
        }