private void LogResult(FileBotResult _result) { Debug.Assert(_result != null); Log.Write(LogLevel.DEBUG, _result.RawLine); if (_result is RenameResult rename) { string dest = rename.ProposedFile; string message = $" Renamed: {Path.GetFileName(dest)}"; Log.Write(LogLevel.INFO, message); RenameResultEventArgs args = new RenameResultEventArgs(rename); FileOrganized?.Invoke(this, args); } }
internal static bool TryParse(string _line, out FileBotResult _result) { Debug.Assert(_line != null); List <string> keys = Actions.Keys.Where(_line.StartsWith).ToList(); Debug.Assert(keys.Count <= 1); if (keys.Count == 1) { string key = keys.First(); Func <string, DateTime, FileBotResult> action = Actions[key]; _result = action(_line, DateTime.Now); } else { _result = new FileBotResult(_line, DateTime.Now); } return(_result != null); }