public void WriteRename(RenamedEventArgs objIn, NotifyFilters filters) { if (objIn == null) { return; } if (IsInvalidFile(objIn.FullPath)) { return; } var ToWrite = new FileMonitorObject(objIn.FullPath) { ResultType = RESULT_TYPE.FILEMONITOR, ChangeType = ChangeTypeStringToChangeType(objIn.ChangeType.ToString()), OldPath = objIn.OldFullPath, Name = objIn.Name, OldName = objIn.OldName, Timestamp = DateTime.Now.ToString("O", CultureInfo.InvariantCulture), FileSystemObject = fsc.FilePathToFileSystemObject(objIn.FullPath), NotifyFilters = filters }; changeHandler(ToWrite); }
private void WriteChange(FileSystemEventArgs objIn, NotifyFilters filters) { if (objIn != null) { if (IsInvalidFile(objIn.FullPath)) { return; } // If we are gathering extended details LastAccess times aren't meaningful since we // will trigger them Instead we note they are gathered and clean up in StopRun if (!options.FileNamesOnly && filters.HasFlag(NotifyFilters.LastAccess)) { filesAccessed.TryAdd(objIn.FullPath, objIn); } else { // We skip gathering extended information when The File was Deleted We are set // to gather names only var fso = (objIn.ChangeType == WatcherChangeTypes.Deleted || options.FileNamesOnly) ? null : fsc.FilePathToFileSystemObject(objIn.FullPath); var ToWrite = new FileMonitorObject(objIn.FullPath) { ResultType = RESULT_TYPE.FILEMONITOR, ChangeType = ChangeTypeStringToChangeType(objIn.ChangeType.ToString()), Name = objIn.Name, Timestamp = DateTime.Now.ToString("O", CultureInfo.InvariantCulture), FileSystemObject = fso, NotifyFilters = filters }; changeHandler(ToWrite); } } }
public static void WriteFileMonitor(FileMonitorObject obj, string RunId) { using var cmd = new SqliteCommand(SQL_INSERT, Connection, Transaction); cmd.Parameters.AddWithValue("@run_id", RunId); cmd.Parameters.AddWithValue("@path", obj.Path); cmd.Parameters.AddWithValue("@timestamp", obj.Timestamp); cmd.Parameters.AddWithValue("@serialized", JsonConvert.SerializeObject(obj)); cmd.ExecuteNonQuery(); }
public static void WriteFileMonitor(FileMonitorObject fmo, string RunId) { if (fmo == null) { return; } using var cmd = new SQLiteCommand(SQL_INSERT, Connection, Transaction); cmd.Parameters.AddWithValue("@run_id", RunId); cmd.Parameters.AddWithValue("@path", fmo.Path); cmd.Parameters.AddWithValue("@timestamp", fmo.Timestamp); cmd.Parameters.AddWithValue("@serialized", JsonSerializer.Serialize(fmo)); cmd.ExecuteNonQuery(); }
public static void WriteFileMonitor(FileMonitorObject fmo, string RunId) { if (fmo == null) { return; } _ = MainConnection ?? throw new NullReferenceException(Strings.Get("MainConnection")); using var cmd = new SqliteCommand(SQL_INSERT, MainConnection.Connection, MainConnection.Transaction); cmd.Parameters.AddWithValue("@run_id", RunId); cmd.Parameters.AddWithValue("@path", fmo.Path); cmd.Parameters.AddWithValue("@timestamp", fmo.Timestamp); cmd.Parameters.AddWithValue("@serialized", JsonConvert.SerializeObject(fmo)); cmd.ExecuteNonQuery(); }
public void WriteChange(FileSystemEventArgs objIn) { if (objIn != null) { var ToWrite = new FileMonitorObject(objIn.FullPath) { ResultType = RESULT_TYPE.FILEMONITOR, ChangeType = ChangeTypeStringToChangeType(objIn.ChangeType.ToString()), Name = objIn.Name, Timestamp = DateTime.Now.ToString("O", CultureInfo.InvariantCulture) }; DatabaseManager.WriteFileMonitor(ToWrite, RunId); } }
public void WriteRename(RenamedEventArgs objIn) { if (objIn == null) { return; } var ToWrite = new FileMonitorObject(objIn.FullPath) { ResultType = RESULT_TYPE.FILEMONITOR, ChangeType = ChangeTypeStringToChangeType(objIn.ChangeType.ToString()), OldPath = objIn.OldFullPath, Name = objIn.Name, OldName = objIn.OldName, Timestamp = DateTime.Now.ToString("O", CultureInfo.InvariantCulture) }; DatabaseManager.WriteFileMonitor(ToWrite, RunId); }
public override void StopRun() { watchers.ForEach(x => x.EnableRaisingEvents = false); // Write each accessed file once. foreach (var e in filesAccessed) { var ToWrite = new FileMonitorObject(e.Value.FullPath) { ResultType = RESULT_TYPE.FILEMONITOR, ChangeType = ChangeTypeStringToChangeType(e.Value.ChangeType.ToString()), Name = e.Value.Name, Timestamp = DateTime.Now.ToString("O", CultureInfo.InvariantCulture), FileSystemObject = fsc.FilePathToFileSystemObject(e.Value.FullPath), NotifyFilters = NotifyFilters.LastAccess }; changeHandler(ToWrite); } RunStatus = RUN_STATUS.COMPLETED; }