private static void ClearPreviousTransients(this HttpSessionStateBase session, INakedObject nakedObject, ObjectFlag flag) { if (nakedObject.Oid.HasPrevious) { if (nakedObject.Oid.Previous.IsTransient) { session.GetCache(flag).Remove(FrameworkHelper.GetObjectId(nakedObject.Oid.Previous)); } } }
public static object LastObject(this HttpSessionStateBase session, INakedObjectsFramework framework, ObjectFlag flag = ObjectFlag.None) { KeyValuePair <string, CacheMemento> lastEntry = session.GetCache(flag).OrderBy(kvp => kvp.Value.Added).LastOrDefault(); if (lastEntry.Equals(default(KeyValuePair <string, CacheMemento>))) { return(null); } INakedObject lastObject = SafeGetNakedObjectFromId(lastEntry.Key, framework); if (lastObject.ResolveState.IsDestroyed()) { session.GetCache(flag).Remove(lastEntry.Key); return(session.LastObject(framework, flag)); } return(lastObject.Object); }
private static IEnumerable <IObjectFacade> GetAndTidyCachedNakedObjectsOfType(this HttpSessionStateBase session, IFrameworkFacade facade, ITypeFacade spec, ObjectFlag flag) { session.ClearDestroyedObjectsOfType(facade, spec, flag); return(session.GetCache(flag).Where(cm => SameSpec(cm.Value.Spec, spec, facade)).OrderBy(kvp => kvp.Value.Added).Select(kvp => GetNakedObjectFromId(facade, kvp.Key))); }
// This is dangerous - retrieves all cached objects from the database - use with care ! private static IEnumerable <IObjectFacade> GetAndTidyCachedNakedObjects(this HttpSessionStateBase session, IFrameworkFacade facade, ObjectFlag flag) { session.ClearDestroyedObjects(facade, flag); return(session.GetCache(flag).OrderBy(kvp => kvp.Value.Added).Select(kvp => GetNakedObjectFromId(facade, kvp.Key))); }
public static IEnumerable <string> AllCachedUrls(this HttpSessionStateBase session, ObjectFlag flag = ObjectFlag.None) { return(session.GetCache(flag).OrderBy(kvp => kvp.Value.Added).Where(kvp => kvp.Value.Url != null).Select(kvp => kvp.Value.Url)); }
public static void RemoveOthersFromCache(this HttpSessionStateBase session, IFrameworkFacade facade, IObjectFacade nakedObject, ObjectFlag flag = ObjectFlag.None) { session.GetCache(flag).RemoveOthersFromCache(facade, nakedObject); }
public static void RemoveFromCache(this HttpSessionStateBase session, string objectId, ObjectFlag flag = ObjectFlag.None) { session.GetCache(flag).RemoveFromCache(objectId); }
private static IEnumerable <INakedObject> GetAndTidyCachedNakedObjectsOfType(this HttpSessionStateBase session, INakedObjectsFramework framework, ITypeSpec spec, ObjectFlag flag) { session.ClearDestroyedObjectsOfType(framework, spec, flag); return(session.GetCache(flag).Where(cm => SameSpec(cm.Value.Spec, spec, framework)).OrderBy(kvp => kvp.Value.Added).Select(kvp => framework.GetNakedObjectFromId(kvp.Key))); }
public static void RemoveOthersFromCache(this HttpSessionStateBase session, INakedObjectsFramework framework, INakedObject nakedObject, ObjectFlag flag = ObjectFlag.None) { session.GetCache(flag).RemoveOthersFromCache(framework, nakedObject); }
internal static void TestAddToCache(this HttpSessionStateBase session, INakedObjectsFramework framework, INakedObject nakedObject, ObjectFlag flag = ObjectFlag.None) { session.GetCache(flag).AddToCache(framework, nakedObject, null, flag); }