public override HtmlBlock GetVersion(HtmlBlock o, int version) { VersionPath versionPath = new VersionPath(o, version); var versionDataFile = Path.Combine(versionPath.PhysicalPath, o.DataFileName); HtmlBlock htmlBlock = null; if (File.Exists(versionDataFile)) { HtmlBlockProvider provider = new HtmlBlockProvider(); htmlBlock = provider.Deserialize(o, versionDataFile); ((IPersistable)htmlBlock).Init(o); } return(htmlBlock); }
public override HtmlBlock GetVersion(HtmlBlock o, int version) { VersionPath versionPath = new VersionPath(o, version); var versionDataFile = Path.Combine(versionPath.PhysicalPath, DataFileName); HtmlBlock versionItem = null; if (File.Exists(versionDataFile)) { HtmlBlockProvider provider = new HtmlBlockProvider(); versionItem = new HtmlBlock(o.Site, o.Name); versionItem.Body = IO.IOUtility.ReadAsString(versionDataFile); ((IPersistable)versionItem).Init(o); } return(versionItem); }
public override void LogVersion(HtmlBlock o) { locker.EnterWriteLock(); try { VersionPath versionPath = new VersionPath(o, NextVersionId(o)); IOUtility.EnsureDirectoryExists(versionPath.PhysicalPath); var versionDataFile = Path.Combine(versionPath.PhysicalPath, DataFileName); HtmlBlockProvider provider = new HtmlBlockProvider(); IO.IOUtility.SaveStringToFile(versionDataFile, o.Body); } finally { locker.ExitWriteLock(); } }