public void WriteEntity <T>(T Entity, string EntityName) { lock (JsonModel) { JsonModel.Entities.RemoveAll(x => string.Equals(EntityName, x.EntityName, StringComparison.InvariantCultureIgnoreCase)); JsonModel.Entities.Add(JsonProviderEntity.FromInstance(Entity, EntityName)); } }
public T LoadEntity <T>(string EntityName) { lock (JsonModel) { foreach (JsonProviderEntity entity in JsonModel.Entities) { if (string.Equals(entity.EntityName, EntityName, StringComparison.CurrentCultureIgnoreCase)) { if (entity.Instance != null) { return((T)entity.Instance); } else { entity.Instance = JsonConvert.DeserializeObject <T>(entity.EntityData); return((T)entity.Instance); } } } T Instance = Activator.CreateInstance <T>(); JsonModel.Entities.Add(JsonProviderEntity.FromInstance(Instance, EntityName)); return(Instance); } }