public static string GetObjectId(this INakedObjectsFramework framework, object model)
        {
            Assert.AssertFalse("Cannot get Adapter for Adapter", model is INakedObjectAdapter);
            INakedObjectAdapter nakedObject = framework.GetNakedObject(model);

            return(framework.GetObjectId(nakedObject));
        }
        private static void AddToCache(this Dictionary <string, CacheMemento> cache, INakedObjectsFramework framework, INakedObject nakedObject, string url, ObjectFlag flag)
        {
            string objectId = framework.GetObjectId(nakedObject);

            cache[objectId] = new CacheMemento {
                Added = DateTime.Now, Spec = nakedObject.Spec.FullName, Url = url
            };
            while (cache.Count > CacheSize)
            {
                RemoveOldest(cache, flag);
            }
        }
        public static string GetServiceId(this INakedObjectsFramework framework, string name)
        {
            INakedObjectAdapter nakedObject = framework.GetAdaptedService(name);

            return(framework.GetObjectId(nakedObject));
        }
        public static void AddObjectToSession <T>(this HttpSessionStateBase session, INakedObjectsFramework framework, string key, T domainObject) where T : class
        {
            INakedObject nakedObject = framework.GetNakedObject(domainObject);

            session.Add(key, (nakedObject.ResolveState.IsTransient() ? (object)domainObject : framework.GetObjectId(domainObject)));
        }
        private static void RemoveOthersFromCache(this Dictionary <string, CacheMemento> cache, INakedObjectsFramework framework, INakedObject nakedObject)
        {
            string id = framework.GetObjectId(nakedObject);

            cache.RemoveOthersFromCache(id);
        }
 private static void RemoveFromCache(this Dictionary <string, CacheMemento> cache, INakedObjectsFramework framework, INakedObject nakedObject)
 {
     cache.RemoveFromCache(framework.GetObjectId(nakedObject));
 }