using Google.Protobuf; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; namespace Tango.DataStore.EF { public static class EFDataStoreHelper { public static byte[] CreateBytes(DataType type, Object obj) { return DataStoreHelper.CreateBytes(type, obj); } public static Object CreateObject(DataType type, byte[] bytes) { return DataStoreHelper.CreateObject(type, bytes); } public static IDataStoreItem CreateDataStoreItem(DataStoreItem item) { return new EFDataStoreItem() { Guid = item.Guid, Date = item.LastUpdated, IsSynchronized = item.IsSynchronized, Key = item.Key, Type = (DataType)item.DataType, Value = CreateObject((DataType)item.DataType, item.Value) }; } public static IDataStoreItem CreateDataStoreItem(GlobalDataStoreItem item) { return new EFDataStoreItem() { Guid = item.Guid, Date = item.LastUpdated, IsSynchronized = true, Key = item.Key, Type = (DataType)item.DataType, Value = CreateObject((DataType)item.DataType, item.Value) }; } public static DataStoreItem CreateLocalDbDataStoreItem(IDataStoreItem item, String collection) { return new DataStoreItem() { Guid = item.Guid, CollectionName = collection, LastUpdated = item.Date, IsSynchronized = item.IsSynchronized, Key = item.Key, DataType = (int)item.Type, Value = CreateBytes(item.Type, item.Value) }; } public static GlobalDataStoreItem CreateGlobalDbDataStoreItem(IDataStoreItem item, String collection) { return new GlobalDataStoreItem() { Guid = item.Guid, CollectionName = collection, LastUpdated = item.Date, Key = item.Key, DataType = (int)item.Type, Value = CreateBytes(item.Type, item.Value) }; } } }