private void Sync(Site site, Repository orginalRepository, Action <Repository> syncAction) { if (site == null) { return; } Repository siteRepository = site.GetRepository(); if (siteRepository != orginalRepository) { syncAction(siteRepository); } foreach (Site childSite in _siteProvider.ChildSites(site)) { Sync(childSite, siteRepository, syncAction); } }
public IEnumerable <Models.Site> ChildSites(Models.Site site) { string cacheKey = "ChildSites-SiteName:" + site.FullName; return(GetCachedData <Site[]>(cacheKey, () => inner.ChildSites(site).ToArray())); }