public void SaveData() { if (!Directory.Exists(_dataDir)) { Directory.CreateDirectory(_dataDir); } //Purge dirty list. var dirtyLogbooks = _dirtyLogbooks.ToList(); _dirtyLogbooks.Clear(); //Write master table. try { using (Stream output = File.Open(Path.Combine(_dataDir, MasterTableFilename(MemberId)), FileMode.Create, FileAccess.Write, FileShare.None)) { output.Write(_masterHeader, 0, _masterHeader.Length); using (DSWriter wr = new DSWriter(output, true)) { GetSerializationInfo(null).Serialize(wr); } } } catch (IOException) { } //Write logbooks. foreach (var book in dirtyLogbooks) { try { using (Stream output = File.Open(Path.Combine(_dataDir, LogbookFilename(book.MemberId, book.SequenceId)), FileMode.Create, FileAccess.Write, FileShare.None)) { output.Write(_logHeader, 0, _logHeader.Length); using (DSWriter wr = new DSWriter(output, true)) { book.GetSerializationInfo(null).Serialize(wr); } } } catch (IOException) { } } }
public override void SerializeNonNull(DSWriter output) { output.Write(Type); output.Write7bUInt((uint)data.Count); foreach (var value in data) { value.Serialize(output); } }
public override void SerializeNonNull(DSWriter output) { output.Write(Type); output.Write7bUInt((uint)fields.Count); foreach (var flist in fields) { output.Write7bUInt(flist.Key); flist.Value.Serialize(output); } }
public static void Serialize(this StoragePremitive p, DSWriter w) { if (p == null) { w.Write(EnumerablesEx.AsEnumerable(TypeIdentifier.Null)); } else { p.SerializeNonNull(w); } }
public override void SerializeNonNull(DSWriter output) { output.Write(Type); output.Write(value); }
public override void SerializeNonNull(DSWriter output) { output.Write(Type); output.Write7bUInt((uint)data.Length); output.Write(data); }
public virtual void SerializeNonNull(DSWriter output) { throw new NotImplementedException(); }