Clear dictionaries after importing ROMs from DAT.

This commit is contained in:
2020-09-04 02:14:23 +01:00
parent fc675fd764
commit 49bf6ad932

View File

@@ -329,12 +329,14 @@ namespace RomRepoMgr.Core.Workers
file = pendingFiles.FirstOrDefault(f => f.Crc32 == rom.CRC && f.Size == uSize);
}
file ??= Context.Singleton.Files.FirstOrDefault(f => ((rom.SHA512 != null && f.Sha512 == rom.SHA512) ||
(rom.SHA384 != null && f.Sha384 == rom.SHA384) ||
(rom.SHA256 != null && f.Sha256 == rom.SHA256) ||
(rom.SHA1 != null && f.Sha1 == rom.SHA1) ||
(rom.MD5 != null && f.Md5 == rom.MD5) ||
(rom.CRC != null && f.Crc32 == rom.CRC)) && f.Size == uSize);
file ??=
Context.Singleton.Files.FirstOrDefault(f => ((rom.SHA512 != null && f.Sha512 == rom.SHA512) ||
(rom.SHA384 != null && f.Sha384 == rom.SHA384) ||
(rom.SHA256 != null && f.Sha256 == rom.SHA256) ||
(rom.SHA1 != null && f.Sha1 == rom.SHA1) ||
(rom.MD5 != null && f.Md5 == rom.MD5) ||
(rom.CRC != null && f.Crc32 == rom.CRC)) &&
f.Size == uSize);
if(file == null)
{
@@ -435,6 +437,16 @@ namespace RomRepoMgr.Core.Workers
Context.Singleton.SaveChanges();
pendingFilesBySha512.Clear();
pendingFilesBySha384.Clear();
pendingFilesBySha256.Clear();
pendingFilesBySha1.Clear();
pendingFilesByMd5.Clear();
pendingFilesByCrc.Clear();
pendingFiles.Clear();
newFiles.Clear();
newFilesByMachine.Clear();
SetProgressBounds?.Invoke(this, new ProgressBoundsEventArgs
{
Minimum = 0,