using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tango.DataStore.Remote
{
public class RemoteDataStoreItem : IDataStoreItem
{
public string Guid { get; set; }
public string Key { get; set; }
public DataType Type { get; set; }
private object _value;
public object Value
{
get
{
if (_value is JObject jObject)
{
return (jObject.ToObject<DataStoreProtoObject>());
}
else
{
return _value;
}
}
set { _value = value; }
}
public DateTime Date { get; set; }
public bool IsSynchronized { get; set; }
public RemoteDataStoreItem()
{
Guid = System.Guid.NewGuid().ToString();
Date = DateTime.UtcNow;
}
public override string ToString()
{
return DataStoreHelper.FormatDataStoreItem(this);
}
}
}