private static async Task <ShiftResult> ParseResponseAsync(string response) { ShiftResult result = new ShiftResult(); using (JsonTextReader jtr = new JsonTextReader(new StringReader(response))) { while (await jtr.ReadAsync().ConfigureAwait(false)) { if (jtr.Value == null) { continue; } else if (jtr.Value.ToString() == "deposit") { await jtr.ReadAsync().ConfigureAwait(false); result.DepositAddress = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "depositType") { await jtr.ReadAsync().ConfigureAwait(false); result.DepositCoin = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "withdrawal") { await jtr.ReadAsync().ConfigureAwait(false); result.WithdrawalAddress = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "withdrawalType") { await jtr.ReadAsync().ConfigureAwait(false); result.WithdrawalCoin = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "public") { await jtr.ReadAsync().ConfigureAwait(false); result.NXTRsAddress = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "xrpDestTag") { await jtr.ReadAsync().ConfigureAwait(false); result.RippleTag = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "apiPubKey") { await jtr.ReadAsync().ConfigureAwait(false); result.APIKey = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "error") { await jtr.ReadAsync().ConfigureAwait(false); result.Error = jtr.Value.ToString(); } else { continue; } } } return(result); }
/// <summary> /// Sends Shift request. /// </summary> /// <param name="Withdrawal">Address for resulting coins to be sent to.</param> /// <param name="Pair">Currency pair for exchange.</param> /// <param name="Return">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, you 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>Result of Shift request.</returns> public static async Task <ShiftResult> ShiftAsync(string Withdrawal, string Pair, string Return = "", string RippleTag = "", string NXTRsAddress = "", string APIKey = "") => await ShiftResult.ShiftAsync(Withdrawal, Pair, Return, RippleTag, NXTRsAddress, APIKey).ConfigureAwait(false);