//Internals internal static void FixIndex(IUnifiedIMObject obj, Type t, string property, object oldValue) { if (Indexes.ContainsKey(t)) { ObjectIndexer <IUnifiedIMObject> pIndexes = Indexes[t]; object cVal = Property.Get(obj, property) ?? null; pIndexes.RemoveIndex(property, oldValue, obj); pIndexes.AddIndex(property, cVal, obj); } }
internal static void DeleteIndexes(IUnifiedIMObject obj) { if (Indexes.ContainsKey(obj.DataType)) { ObjectIndexer <IUnifiedIMObject> pIndexes = Indexes[obj.DataType]; foreach (string prop in pIndexes.Properties) { object cVal = Property.Get(obj, prop) ?? null; pIndexes.RemoveIndex(prop, cVal, obj); } } }