Exemplo n.º 1
0
        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));
                }
            }
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        public async Task <GenerateSaleResponse> BuyTokens(PointBundle price, string successRedirect, CancellationToken token)
        {
            var generateSale = GenerateSale.BuyTokens(price, successRedirect, _credentials.SellerId);

            return(await GenerateSaleAsync(token, generateSale));
        }
Exemplo n.º 4
0
        public async Task <GenerateSaleResponse> CreateBuyerAsync(string callback, string successRedirect, CancellationToken token)
        {
            var generateSale = GenerateSale.CreateBuyer(callback, successRedirect, _credentials.SellerId);

            return(await GenerateSaleAsync(token, generateSale));
        }