private async Task <GenerateSaleResponse> GenerateSaleAsync(CancellationToken token, GenerateSale generateSale) { var json = JsonConvert.SerializeObject(generateSale, new JsonSerializerSettings { ContractResolver = ContractResolver, NullValueHandling = NullValueHandling.Ignore }); using (var sr = new StringContent(json, Encoding.UTF8, "application/json")) { Uri.TryCreate(new Uri(_credentials.EndPoint), "generate-sale", out var uri); var response = await _client.PostAsync(uri, sr, token); if (!response.IsSuccessStatusCode) { var str = await response.Content.ReadAsStringAsync(); throw new HttpRequestException($"statusCode: {response.StatusCode} reason: {response.ReasonPhrase}, body: {str}"); } using (var s = await response.Content.ReadAsStreamAsync()) { var serializer = JsonSerializer.Create(new JsonSerializerSettings { ContractResolver = ContractResolver, }); return(s.ToJsonReader <GenerateSaleResponse>(serializer)); } } }
public async Task <GenerateSaleResponse> TransferPaymentAsync(string sellerKey, string buyerKey, decimal price, CancellationToken token) { var generateSale = GenerateSale.TransferMoney(sellerKey, buyerKey, price); return(await GenerateSaleAsync(token, generateSale)); }
public async Task <GenerateSaleResponse> BuyTokens(PointBundle price, string successRedirect, CancellationToken token) { var generateSale = GenerateSale.BuyTokens(price, successRedirect, _credentials.SellerId); return(await GenerateSaleAsync(token, generateSale)); }
public async Task <GenerateSaleResponse> CreateBuyerAsync(string callback, string successRedirect, CancellationToken token) { var generateSale = GenerateSale.CreateBuyer(callback, successRedirect, _credentials.SellerId); return(await GenerateSaleAsync(token, generateSale)); }