private static void UpdateMetada(string[] files, string keywordsFile, IProgress <UpdateMetadataProgressEntry> progressReport) { if (files == null || keywordsFile == null) { return; } Dictionary <string, InputMetataDataRecord> inputMetataDataRecords = InputMetataDataReader.Read(keywordsFile) .ToDictionary(r => r.FileName, r => r); for (int i = 0; i < files.Length; i++) { string f = files[i]; string name = Path.GetFileNameWithoutExtension(f); ImageMetadataUpdateResult updateResult = new ImageMetadataUpdateResult { Success = true }; if (inputMetataDataRecords.ContainsKey(name)) { InputMetataDataRecord inputMetataDataRecord = inputMetataDataRecords[name]; updateResult = ImageMetadataUpdater.Update(f, inputMetataDataRecord.Title, inputMetataDataRecord.Keywords); } UpdateMetadataProgressEntry progressEntry = new UpdateMetadataProgressEntry { FileIndex = i, File = f, UpdateResult = updateResult }; progressReport.Report(progressEntry); } }
public void LogUpdateMetadataProgressEntry(UpdateMetadataProgressEntry v) { string fileName = Path.GetFileName(v.File); if (v.UpdateResult.Success) { LogInfo($"{fileName}: OK"); } else { LogError($"{fileName}: {v.UpdateResult.Error}"); } }