1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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));
- }
- }
- }
|