/// <summary> /// Adds a ForeignResourceCache object with the given foreign resource id, resource id, and /// resource type id. /// </summary> /// <param name="foreignResourceId">The foreign resource id.</param> /// <param name="resourceId">The resource id.</param> /// <param name="resourceTypeId">The resource type id.</param> /// <returns>The cache item added.</returns> public ForeignResourceCache Add(int foreignResourceId, int resourceId, int resourceTypeId, int?parentForeignResourceId, int?parentResourceId, int?parentResourceTypeId) { var cache = new ForeignResourceCache(foreignResourceId, resourceId, resourceTypeId, parentForeignResourceId, parentResourceId, parentResourceTypeId); var cacheItem = Add(cache); return(cache); }
/// <summary> /// The resource cache item to add. /// </summary> /// <param name="resourceCache">The resource cache item to add.</param> /// <returns>The cacheitem.</returns> public CacheItem Add(ForeignResourceCache resourceCache) { var cacheItem = new CacheItem(GetKey(resourceCache), resourceCache); cache.Set(cacheItem, GetCacheItemPolicy()); return(cacheItem); }
/// <summary> /// Returns the cache key for the given resource. /// </summary> /// <param name="resourceCache">The resource cache object.</param> /// <returns>The key.</returns> public string GetKey(ForeignResourceCache resourceCache) { Contract.Requires(resourceCache != null, "The resource cache must not be null."); return(GetKey(resourceCache.ForeignResourceId, resourceCache.ResourceTypeId)); }