private static async Task <SendAmountRequest> ParseResponseAsync(string response) { SendAmountRequest request = new SendAmountRequest(); using (JsonTextReader jtr = new JsonTextReader(new StringReader(response))) { while (await jtr.ReadAsync().ConfigureAwait(false)) { if (jtr.Value == null) { continue; } else if (jtr.Value.ToString() == "pair") { await jtr.ReadAsync().ConfigureAwait(false); request.Pair = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "withdrawal") { await jtr.ReadAsync().ConfigureAwait(false); request.WithdrawalAddress = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "withdrawalAmount") { await jtr.ReadAsync().ConfigureAwait(false); request.WithdrawalAmount = Convert.ToDouble(jtr.Value.ToString()); } else if (jtr.Value.ToString() == "deposit") { await jtr.ReadAsync().ConfigureAwait(false); request.DepositAddress = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "depositAmount") { await jtr.ReadAsync().ConfigureAwait(false); request.DepositAmount = Convert.ToDouble(jtr.Value.ToString()); } else if (jtr.Value.ToString() == "expiration") { await jtr.ReadAsync().ConfigureAwait(false); request.Expiration = Convert.ToDouble(jtr.Value.ToString()); } else if (jtr.Value.ToString() == "quotedRate") { await jtr.ReadAsync().ConfigureAwait(false); request.QuotedRate = Convert.ToDouble(jtr.Value.ToString()); } else if (jtr.Value.ToString() == "apiPubKey") { await jtr.ReadAsync().ConfigureAwait(false); request.APIKey = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "error") { await jtr.ReadAsync().ConfigureAwait(false); request.Error = jtr.Value.ToString(); } else { continue; } } } return(request); }
/// <summary> /// Gets information on pending exchange. /// </summary> /// <param name="Amount">Amount to be sent to withdrawal address.</param> /// <param name="Address">The withdrawal address.</param> /// <param name="Pair">The coin pair.</param> /// <param name="ReturnAddress">Address to return coins to if exchange fails.</param> /// <param name="RippleTag">Destination tag that you want appended to a Ripple payment to you.</param> /// <param name="NXTRsAddress">For new NXT accounts to be funded, supply this on NXT payment to you.</param> /// <param name="APIKey">Your affiliate PUBLIC KEY, for volume tracking, affiliate payments, split-shifts, etc...</param> /// <returns>Information on pending exchange.</returns> public static async Task <SendAmountRequest> GetSendAmountAsync(double Amount, string Address, string Pair, string ReturnAddress = "", string RippleTag = "", string NXTRsAddress = "", string APIKey = "") => await SendAmountRequest.RequestAsync(Amount, Address, Pair, ReturnAddress, RippleTag, NXTRsAddress, APIKey).ConfigureAwait(false);