private string GetCanonicalUrl(Data.Models.Heart heart, ICollection <Data.Models.Heart> hearts) { string result = heart.RelativeUrl; if (heart.ParentHeartId.HasValue) { result = $"{GetCanonicalUrl(hearts.Single(x => x.HeartId == heart.ParentHeartId), hearts)}/{result}"; } string cacheIntKey = GetCanonicalUrlCacheKey(heart.HeartId); string cacheUrlKey = GetCanonicalUrlCacheKey(heart.RelativeUrl); AddOrUpdateCacheObject(cacheUrlKey, result); AddOrUpdateCacheObject(cacheIntKey, result); return(result); }
private void DeleteRoute(Data.Models.Heart heart) { var typeRoutes = _heartUrlPairs[heart.Type]; typeRoutes.Remove(heart.RelativeUrl); }