#21 Deserialization of LunaSea Object

This commit is contained in:
glax 2023-06-19 11:27:07 +02:00
parent 303fc293ba
commit d2f46e4637

View File

@ -27,11 +27,14 @@ public abstract class NotificationManager
return (objectType == typeof(NotificationManager)); return (objectType == typeof(NotificationManager));
} }
public override object ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer) public override object ReadJson(JsonReader reader, Type objectType, object? existingValue,
JsonSerializer serializer)
{ {
JObject jo = JObject.Load(reader); JObject jo = JObject.Load(reader);
if (jo["notificationManagerType"]!.Value<byte>() == (byte)NotificationManagerType.Gotify) if (jo["notificationManagerType"]!.Value<byte>() == (byte)NotificationManagerType.Gotify)
return jo.ToObject<Gotify>(serializer)!; return jo.ToObject<Gotify>(serializer)!;
else if (jo["notificationManagerType"]!.Value<byte>() == (byte)NotificationManagerType.LunaSea)
return jo.ToObject<LunaSea>(serializer)!;
throw new Exception(); throw new Exception();
} }