public virtual void Insert(int index, T value) { var id = GetId(value); Save(id, value); ids.Insert(index, id); storage.Put(idListKey, ids); items.Insert(index, value); Added(value); }
public virtual void Insert(int index, T value) { var id = value.Id; if (id == idListKey) { throw new ApplicationException("The id must not be \"" + idListKey + "\"."); } if (ids.Contains(id)) { throw new ApplicationException("Object with id \"" + id + "\" already exists."); } Save(id, value); ids.Insert(index, id); storage.Put(idListKey, ids); items.Insert(index, value); Added(value); }
public void TestNonSerializableMemberInitialization() { storage.Put("test", new ClassWithNonSerializableMembers { TestInteger = 2 }); var restored = storage.Get <ClassWithNonSerializableMembers>("test"); Assert.AreEqual(1, restored.TestInteger); Assert.DoesNotThrow(restored.ExecuteTestAction); }
public PersistentList(string editGroup, Func <T, string> serialize = null, Func <string, T> deserialize = null) { try { storage = SimpleStorage.EditGroup(editGroup); ids = storage.Get <List <string> >(idListKey) ?? new List <string>(); var broken = new List <string>(); foreach (var i in ids) { T item = default(T); try { item = deserialize == null?storage.Get <T>(i) : deserialize(storage.Get(i)); } catch (Exception e) { Console.WriteLine(e.Message); } if (item == null) { broken.Add(i); continue; } items.Add(item); } if (broken.Count > 0) { foreach (var id in broken) { storage.Delete(id); ids.Remove(id); storage.Put(idListKey, ids); } } CustomSerializer = serialize; } catch (Exception e) { Console.WriteLine(e.Message); } }
public void TestSavingString() { storage.Put("test", "hello world"); Assert.AreEqual("hello world", storage.Get("test")); }
public virtual void Insert(int index, string value) { list.Insert(index, value); storage.Put(key, list); }