示例#1
0
            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);
            }
示例#2
0
            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);
            }
示例#3
0
 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();
     }
 }