using System; namespace InABox.Core { public class DFLayoutEmbeddedMediaValue { public Guid ID { get; set; } public byte[]? Data { get; set; } public byte[]? Thumbnail { get; set; } public void Load(string json) { if (String.IsNullOrWhiteSpace(json)) return; try { var externaldata = Serialization.Deserialize<(Guid, byte[])>(json, true); if (externaldata.Item1 != Guid.Empty) { ID = externaldata.Item1; Thumbnail = externaldata.Item2; } } catch { if (Guid.TryParse(json, out Guid id) && (id != Guid.Empty)) { ID = id; Thumbnail = null; } else { ID = Guid.Empty; Data = Convert.FromBase64String(json); Thumbnail = null; } } } public override string ToString() { return Serialization.Serialize((ID, Thumbnail)); } } }