private static int ProcessArchiveScan(string logPath, string databasePath, string scanPath) { using (TextWriterWrapper textWriterWrapper = new TextWriterWrapper(logPath)) using (SQLiteConnection connection = new SQLiteConnection("Data Source=" + databasePath)) { connection.Open(); ArchiveOperations.DoArchiveScan(textWriterWrapper.Writer, connection, scanPath); connection.Close(); } return(0); }
private static int ProcessModifyArchive(string logPath, string databasePath, int archiveId, string addPath, string addPattern, DateTime begin, DateTime end) { using (TextWriterWrapper textWriterWrapper = new TextWriterWrapper(logPath)) using (SQLiteConnection connection = new SQLiteConnection("Data Source=" + databasePath)) { connection.Open(); if (addPath != null) { ArchiveOperations.AddPathToArchive(textWriterWrapper.Writer, connection, archiveId, addPath); } if (addPattern != null) { ArchiveOperations.AddPatternToArchive(textWriterWrapper.Writer, connection, archiveId, addPattern, begin, end); } connection.Close(); } return(0); }
private static int Archive(ArchiveOptions a) { if (a.NewArchive.HasValue && a.NewArchive.Value) { return(ProcessNewArchive(a.LogPath, a.DatabasePath)); } if (a.ModifyArchiveId.HasValue) { return(ProcessModifyArchive(a.LogPath, a.DatabasePath, a.ModifyArchiveId.Value, a.AddPath, a.AddPattern, DateTimeFromYYYYMMDD(a.TimestampBegin), DateTimeFromYYYYMMDD(a.TimestampEnd))); } if (a.ScanPath != null) { return(ProcessArchiveScan(a.LogPath, a.DatabasePath, a.ScanPath)); } return(ArchiveOperations.PrintExistingArchives(a.LogPath, a.DatabasePath)); }