private static async Task <EmailReceipt> ParseResponseAsync(string response) { EmailReceipt receipt = new EmailReceipt(); using (JsonTextReader jtr = new JsonTextReader(new StringReader(response))) { while (await jtr.ReadAsync().ConfigureAwait(false)) { if (jtr.Value == null) { continue; } else if (jtr.Value.ToString() == "status") { await jtr.ReadAsync().ConfigureAwait(false); receipt.Status = jtr.Value.ToString() == "success" ? EmailStatuses.Success : EmailStatuses.Failure; } else if (jtr.Value.ToString() == "message") { await jtr.ReadAsync().ConfigureAwait(false); receipt.Message = jtr.Value.ToString(); } else if (jtr.Value.ToString() == "error") { await jtr.ReadAsync().ConfigureAwait(false); receipt.Error = jtr.Value.ToString(); } else { continue; } } } return(receipt); }
/// <summary> /// Requests a receipt for transaction to be sent via email. /// </summary> /// <param name="Email">Email address to send receipt to.</param> /// <param name="TxID">Transaction ID of the transaction sent to the user.</param> /// <returns>Result of receipt request.</returns> public static async Task <EmailReceipt> RequestEmailReceiptAsync(string Email, string TxID) => await EmailReceipt.RequestAsync(Email, TxID).ConfigureAwait(false);