private static void makeIndexByInsert(CacheObject cacheObject, String propertyName, Object pValue) { Type t = cacheObject.GetType(); String propertyKey = getPropertyKey(t.FullName, propertyName); lock (objIndexLock) { NameValueCollection valueCollection = getValueCollection(propertyKey); valueCollection.Add(pValue.ToString(), cacheObject.Id.ToString()); indexList[propertyKey] = valueCollection; } }
internal static void Delete( CacheObject obj ) { Type t = obj.GetType(); String _typeFullName = t.FullName; makeIndexByDelete( obj ); IList list = FindAll( t ); list.Remove( obj ); UpdateObjects( _typeFullName, list ); deleteIdIndex( _typeFullName, obj.Id ); if (isInMemory( t )) return; Serialize( t, list ); }
internal static void Insert( CacheObject obj ) { Type t = obj.GetType(); String _typeFullName = t.FullName; IList list = FindAll( t ); obj.Id = getNextId( list ); int index = list.Add( obj ); addIdIndex( _typeFullName, obj.Id, index ); UpdateObjects( _typeFullName, list ); makeIndexByInsert( obj ); if (isInMemory( t )) return; Serialize( t ); }
private static void makeIndexByDelete(CacheObject cacheObject) { Type t = cacheObject.GetType(); PropertyInfo[] properties = getProperties(t); foreach (PropertyInfo p in properties) { String propertyKey = getPropertyKey(t.FullName, p.Name); lock (objIndexLockDelete) { NameValueCollection valueCollection = getValueCollection(propertyKey); deleteOldValueIdMap(valueCollection, cacheObject.Id); } } }
private static void makeIndexByInsert(CacheObject cacheObject) { Type t = cacheObject.GetType(); PropertyInfo[] properties = getProperties(t); foreach (PropertyInfo p in properties) { String propertyKey = getPropertyKey(t.FullName, p.Name); lock (objIndexLockInsert) { NameValueCollection valueCollection = getValueCollection(propertyKey); addNewValueMap(valueCollection, cacheObject, p); } } }
internal static void Delete(CacheObject obj) { Type t = obj.GetType(); String _typeFullName = t.FullName; makeIndexByDelete(obj); IList list = FindAll(t); list.Remove(obj); UpdateObjects(_typeFullName, list); deleteIdIndex(_typeFullName, obj.Id); if (isInMemory(t)) { return; } Serialize(t, list); }
internal static Result updateByIndex(CacheObject obj, Dictionary <String, Object> dic) { Type t = obj.GetType(); makeIndexByUpdate(obj); if (isInMemory(t)) { return(new Result()); } try { Serialize(t); return(new Result()); } catch (Exception ex) { throw ex; } }
private static void addNewValueMap(NameValueCollection valueCollection, CacheObject cacheObject, PropertyInfo p) { Attribute attr = rft.GetAttribute(p, typeof(NotSaveAttribute)); if (attr != null) { return; } String propertyKey = getPropertyKey(cacheObject.GetType().FullName, p.Name); Object pValue = rft.GetPropertyValue(cacheObject, p.Name); if (pValue == null || strUtil.IsNullOrEmpty(pValue.ToString())) { return; } valueCollection.Add(pValue.ToString(), cacheObject.Id.ToString()); indexList[propertyKey] = valueCollection; }
internal static void InsertByIndex(CacheObject obj, String propertyName, Object pValue) { Type t = obj.GetType(); String _typeFullName = t.FullName; IList list = FindAll(t); obj.Id = getNextId(list); int index = list.Add(obj); addIdIndex(_typeFullName, obj.Id, index); UpdateObjects(_typeFullName, list); makeIndexByInsert(obj, propertyName, pValue); if (isInMemory(t)) { return; } Serialize(t); }
internal static void InsertByIndex(CacheObject obj, Dictionary <String, Object> dic) { Type t = obj.GetType(); String _typeFullName = t.FullName; IList list = FindAll(t); obj.Id = getNextId(list); int index = list.Add(obj); addIdIndex(_typeFullName, obj.Id, index); UpdateObjects(_typeFullName, list); foreach (KeyValuePair <String, Object> kv in dic) { makeIndexByInsert(obj, kv.Key, kv.Value); } if (isInMemory(t)) { return; } Serialize(t); }
private static void makeIndexByUpdate( CacheObject cacheObject, String propertyName, Object pValue ) { Type t = cacheObject.GetType(); String propertyKey = getPropertyKey( t.FullName, propertyName ); lock (objIndexLockUpdate) { NameValueCollection valueCollection = getValueCollection( propertyKey ); deleteOldValueIdMap( valueCollection, cacheObject.Id ); valueCollection.Add( pValue.ToString(), cacheObject.Id.ToString() ); indexList[propertyKey] = valueCollection; } }
private static void makeIndexByUpdate( CacheObject cacheObject ) { Type t = cacheObject.GetType(); PropertyInfo[] properties = getProperties( t ); foreach (PropertyInfo p in properties) { String propertyKey = getPropertyKey( t.FullName, p.Name ); lock (objIndexLockUpdate) { NameValueCollection valueCollection = getValueCollection( propertyKey ); deleteOldValueIdMap( valueCollection, cacheObject.Id ); addNewValueMap( valueCollection, cacheObject, p ); } } }
private static void addNewValueMap( NameValueCollection valueCollection, CacheObject cacheObject, PropertyInfo p ) { Attribute attr = rft.GetAttribute( p, typeof( NotSaveAttribute ) ); if (attr != null) return; String propertyKey = getPropertyKey( cacheObject.GetType().FullName, p.Name ); Object pValue = rft.GetPropertyValue( cacheObject, p.Name ); if (pValue == null || strUtil.IsNullOrEmpty( pValue.ToString() )) return; valueCollection.Add( pValue.ToString(), cacheObject.Id.ToString() ); indexList[propertyKey] = valueCollection; }
internal static Result updateByIndex( CacheObject obj, Dictionary<String, Object> dic ) { Type t = obj.GetType(); makeIndexByUpdate( obj ); if (isInMemory( t )) return new Result(); try { Serialize( t ); return new Result(); } catch (Exception ex) { throw ex; } }
internal static Result Update( CacheObject obj ) { Type t = obj.GetType(); makeIndexByUpdate( obj ); if (isInMemory( t )) return new Result(); try { Serialize( t ); return new Result(); } catch (Exception ex) { throw ex; } }
internal static void InsertByIndex( CacheObject obj, Dictionary<String, Object> dic ) { Type t = obj.GetType(); String _typeFullName = t.FullName; IList list = FindAll( t ); obj.Id = getNextId( list ); int index = list.Add( obj ); addIdIndex( _typeFullName, obj.Id, index ); UpdateObjects( _typeFullName, list ); foreach (KeyValuePair<String, Object> kv in dic) { makeIndexByInsert( obj, kv.Key, kv.Value ); } if (isInMemory( t )) return; Serialize( t ); }