示例#1
0
        public async Task <AddClientResponse> AddClient(AddClientParameter parameter)
        {
            if (parameter == null)
            {
                throw new ArgumentNullException(nameof(parameter));
            }

            var client  = _httpClientFactory.GetHttpClient();
            var jObj    = ToDto(parameter);
            var content = new StringContent(jObj.ToString(), Encoding.UTF8, "application/json");
            var request = new HttpRequestMessage
            {
                Method     = HttpMethod.Post,
                RequestUri = new Uri(_baseUrl + "/v0.1/customers"),
                Content    = content
            };

            request.Headers.Add("Authorization", $"Bearer {parameter.AccessToken}");
            var serializedContent = await client.SendAsync(request).ConfigureAwait(false);

            serializedContent.EnsureSuccessStatusCode();
            var json = await serializedContent.Content.ReadAsStringAsync();

            return(ToClientModel(JObject.Parse(json)));
        }
示例#2
0
        private static JObject ToDto(AddClientParameter parameter)
        {
            var result          = new JObject();
            var personalDetails = new JObject();
            var adr             = new JObject();

            personalDetails.Add(Constants.DtoNames.ClientNames.Name, parameter.Name);
            personalDetails.Add(Constants.DtoNames.ClientNames.Phone, parameter.Phone);
            if (parameter.Address != null)
            {
                adr.Add(Constants.DtoNames.SumupAddressNames.Line1, parameter.Address.Line1);
                adr.Add(Constants.DtoNames.SumupAddressNames.Line2, parameter.Address.Line2);
                adr.Add(Constants.DtoNames.SumupAddressNames.Country, parameter.Address.Country);
                adr.Add(Constants.DtoNames.SumupAddressNames.PostalCode, parameter.Address.PostalCode);
                adr.Add(Constants.DtoNames.SumupAddressNames.City, parameter.Address.City);
                adr.Add(Constants.DtoNames.SumupAddressNames.State, parameter.Address.State);
                personalDetails.Add(Constants.DtoNames.ClientNames.Address, adr);
            }

            result.Add(Constants.DtoNames.ClientNames.Id, parameter.Id);
            result.Add(Constants.DtoNames.ClientNames.PersonalDetails, personalDetails);
            return(result);
        }