public void UpdateLibraryEntry(InMemoryDatabase.PuzzleLibraryEntry entry) { var path = GetLibraryEntryPath(entry.UID); using (var writer = OpenZipArchiveEntryForWriting(path)) { writer.WriteLine(entry.Author); new PuzzleSerializer().Write(writer, entry.Puzzle); } }
internal Writer(StreamWriter streamWriter, InMemoryDatabase.PuzzleLibraryEntry libraryEntry, ISerializer <Puzzle> puzzleSerializer) : base(streamWriter) { if (libraryEntry == null) { throw new ArgumentNullException(nameof(libraryEntry)); } else if (puzzleSerializer == null) { throw new ArgumentNullException(nameof(puzzleSerializer)); } else { this.libraryEntry = libraryEntry; this.puzzleSerializer = puzzleSerializer; } }
public PuzzleDatabaseEntry(IGameDataArchive archive, InMemoryDatabase.PuzzleLibraryEntry entry) { this.archive = archive; this.entry = entry; }
public void UpdateLibraryEntry(InMemoryDatabase.PuzzleLibraryEntry entry) { WithWriteableArchive(archive => archive.UpdateLibraryEntry(entry)); }