18 using System.Collections.Generic;
19 using Newtonsoft.Json;
20 using Newtonsoft.Json.Linq;
38 public override void WriteJson(JsonWriter writer,
object value, JsonSerializer serializer)
50 public override object ReadJson(JsonReader reader, Type objectType,
object existingValue, JsonSerializer serializer)
52 var jObject = JObject.Load(reader);
55 if (jObject.TryGetValue(
"PhoneNumber", StringComparison.InvariantCultureIgnoreCase, out token))
57 var message = jObject.GetValue(
"Message", StringComparison.InvariantCultureIgnoreCase);
61 else if (jObject.TryGetValue(
"Subject", StringComparison.InvariantCultureIgnoreCase, out token))
63 var data = jObject.GetValue(
"Data", StringComparison.InvariantCultureIgnoreCase);
64 var message = jObject.GetValue(
"Message", StringComparison.InvariantCultureIgnoreCase);
65 var address = jObject.GetValue(
"Address", StringComparison.InvariantCultureIgnoreCase);
66 var headers= jObject.GetValue(
"Headers", StringComparison.InvariantCultureIgnoreCase);
68 return new NotificationEmail(address?.ToString(), token.ToString(), message?.ToString(), data?.ToString(), headers?.ToObject<Dictionary<string, string>>());
70 else if (jObject.TryGetValue(
"Address", StringComparison.InvariantCultureIgnoreCase, out token))
72 var headers = jObject.GetValue(
"Headers", StringComparison.InvariantCultureIgnoreCase);
73 var data = jObject.GetValue(
"Data", StringComparison.InvariantCultureIgnoreCase);
75 return new NotificationWeb(token.ToString(), data?.ToString(), headers?.ToObject<Dictionary<string, string>>());
77 else if (jObject.TryGetValue(
"Id", StringComparison.InvariantCultureIgnoreCase, out token))
79 var message = jObject.GetValue(
"Message", StringComparison.InvariantCultureIgnoreCase);
80 var botToken = jObject.GetValue(
"Token", StringComparison.InvariantCultureIgnoreCase);