Files
OpenXBL.NET/src/Readable Types/Alert.cs
2019-06-21 14:18:48 -04:00

50 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Kalakoi.Xbox.OpenXBL
{
public class Alert
{
public string ID { get; set; }
public string Action { get; set; }
public string Path { get; set; }
public string ActorXuid { get; set; }
public string ActorGamertag { get; set; }
public string ParentType { get; set; }
public string ParentPath { get; set; }
public string OwnerXuid { get; set; }
public string OwnerGamertag { get; set; }
public DateTime Timestamp { get; set; }
public bool Seen { get; set; }
public string RootPath { get; set; }
public static Alert DeserializeJSON(string JSON) => DeserializeJSON(JObject.Parse(JSON));
public static Alert DeserializeJSON(JToken Token)
{
if (Token == null || !Token.HasValues) return new Alert();
Alert a = new Alert()
{
ID = (string)Token.SelectToken("id"),
Action = (string)Token.SelectToken("action"),
Path = (string)Token.SelectToken("path"),
ActorXuid = (string)Token.SelectToken("actorXuid"),
ActorGamertag = (string)Token.SelectToken("actorGamertag"),
ParentType = (string)Token.SelectToken("parentType"),
ParentPath = (string)Token.SelectToken("parentPath"),
OwnerXuid = (string)Token.SelectToken("ownerXuid"),
OwnerGamertag = (string)Token.SelectToken("ownerGamertag"),
Timestamp = (DateTime)Token.SelectToken("timestamp"),
Seen = (bool)Token.SelectToken("seen"),
RootPath = (string)Token.SelectToken("rootPath")
};
return a;
}
}
}