private void WriteEntries(IEnumerable <Entry> entries, SqliteConnection connection, int maxId, ref DateTime min, ref DateTime max) { using (var transaction = connection.BeginTransaction()) { foreach (var e in entries) { StoryTable.Write(e, connection, transaction); if (e.Date > max) { max = e.Date; } if (e.Date < min) { min = e.Date; } } DateRangeTable.Write(min, max, connection, transaction); LastWriteTable.Write(maxId, connection, transaction); transaction.Commit(); } }
private static void WriteFileIntoDatabase(string filename, SQLiteConnection connection, DataTrackers trackers) { using (var file = File.OpenRead(filename)) using (var reader = new BinaryReader(file)) { while (file.Position < file.Length) { var entry = EntryExtensions.Read(reader); trackers.Update(entry); StoryTable.Write(entry, connection); } } }