diff --git a/PhotoRenamer/Renamer.cs b/PhotoRenamer/Renamer.cs index 24738cb..33b6703 100644 --- a/PhotoRenamer/Renamer.cs +++ b/PhotoRenamer/Renamer.cs @@ -55,11 +55,9 @@ namespace PhotoRenamer { var directories = ImageMetadataReader.ReadMetadata(file); var dateTime = GetDateTimeFromExif(directories) ?? GetDateTimeFromMp4(directories); - if (!(dateTime is null)) - { - var folder = CreateFolder(dateTime.GetValueOrDefault()); - CopyFile(folder, file, progressBar); - } + if (dateTime is null) return; + var folder = CreateFolder(dateTime.GetValueOrDefault()); + CopyFile(folder, file, progressBar); } catch (ImageProcessingException) { @@ -83,13 +81,16 @@ namespace PhotoRenamer using var child = progressBar.Spawn(100, destination.FullName, _childOptions); using var client = new WebClient(); - client.DownloadProgressChanged += (o, args) => child.Tick(args.ProgressPercentage); + + void OnClientOnDownloadProgressChanged(object o, DownloadProgressChangedEventArgs args) => child.Tick(args.ProgressPercentage); + + client.DownloadProgressChanged += OnClientOnDownloadProgressChanged; client.DownloadFileAsync(new Uri(source.FullName), destination.FullName); while (client.IsBusy) { Thread.Sleep(100); } - //source.CopyTo(destination.FullName, true); + client.DownloadProgressChanged -= OnClientOnDownloadProgressChanged; child.Tick(100); } @@ -102,16 +103,24 @@ namespace PhotoRenamer private static DateTime? GetDateTimeFromExif(IEnumerable directories) { + DateTime dateTime = default; return directories - .OfType() - .FirstOrDefault()?.GetDateTime(ExifDirectoryBase.TagDateTimeOriginal); + .OfType() + .FirstOrDefault()? + .TryGetDateTime(ExifDirectoryBase.TagDateTime, out dateTime) == true + ? (DateTime?) dateTime + : null; } private static DateTime? GetDateTimeFromMp4(IEnumerable directories) { + DateTime dateTime = default; return directories .OfType() - .FirstOrDefault()?.GetDateTime(QuickTimeMovieHeaderDirectory.TagCreated); + .FirstOrDefault()? + .TryGetDateTime(QuickTimeMovieHeaderDirectory.TagCreated, out dateTime) == true + ? (DateTime?) dateTime + : null; } } } \ No newline at end of file