/// <summary> /// Loads from PRD. /// </summary> /// <param name="prdFilePath">The PRD file path.</param> /// <returns></returns> static public TPage LoadFromPRD(string prdFilePath) { MemoryStream prdUnzipStream; using (FileStream prdFileStream = new FileStream(prdFilePath, FileMode.Open, FileAccess.Read)) { prdUnzipStream = new MemoryStream(ZipUtil.ZipUnarchive(prdFileStream)); } DataContractSerializer pageSerializer = new DataContractSerializer(typeof(TPage), null, int.MaxValue, false, true, null, null); TPage prdPage = pageSerializer.ReadObject(prdUnzipStream) as TPage; return(prdPage); }
/// <summary> /// Saves to PRD. /// </summary> /// <param name="prdPage">The PRD page.</param> /// <param name="prdFilePath">The PRD file path.</param> static public void SaveToPRD(TPage prdPage, string prdFilePath) { DataContractSerializer pageSerializer = new DataContractSerializer(typeof(TPage), null, int.MaxValue, false, true, null, null); MemoryStream prdMemory = new MemoryStream(); pageSerializer.WriteObject(prdMemory, prdPage); using (FileStream prdFileStream = new FileStream(prdFilePath, FileMode.Create, FileAccess.Write)) { prdMemory.Position = 0; byte [] zipData = ZipUtil.ZipArchive(prdMemory, Compression.Medium); prdFileStream.Write(zipData, 0, zipData.Length); } }
/// <summary> /// Loads from raw data. /// </summary> /// <param name="oRawData">The o raw data.</param> /// <returns></returns> static public TPage LoadFromRawData(byte[] oRawData) { string sPRDFileName = System.IO.Path.GetTempFileName(); string sPRDName = System.IO.Path.GetFileName(sPRDFileName); string sPath = System.IO.Path.GetDirectoryName(sPRDFileName); // Create PRD file... // BLOBStorageImplFS oSavePRD = new BLOBStorageImplFS( sPath ) ; // oSavePRD.WriteBLOB( sPath, sPRDName, oRawData ) ; System.IO.FileStream oFS = new FileStream(sPRDFileName, FileMode.Create); System.IO.BinaryWriter oBW = new BinaryWriter(oFS); oBW.Write(oRawData); oBW.Close(); oFS.Close(); TPage oPage = LoadFromPRD(sPRDFileName); System.IO.File.Delete(sPRDFileName); return(oPage); }
public CompareTLines(TPage oPage) { m_oPage = oPage; }