Fill out more replace fields tests

This commit is contained in:
Matt Nadareski
2025-02-12 13:30:37 -05:00
parent 11ab3b0887
commit 51c526c967
2 changed files with 112 additions and 31 deletions

View File

@@ -1,6 +1,8 @@
using System.Collections.Generic; using System.Collections.Generic;
using SabreTools.Core.Tools;
using SabreTools.DatItems; using SabreTools.DatItems;
using SabreTools.DatItems.Formats; using SabreTools.DatItems.Formats;
using SabreTools.Hashing;
using Xunit; using Xunit;
namespace SabreTools.DatFiles.Test namespace SabreTools.DatFiles.Test
@@ -27,85 +29,164 @@ namespace SabreTools.DatFiles.Test
Assert.Equal("foo", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)); Assert.Equal("foo", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
} }
// TODO: Check more fields for replacement
[Fact] [Fact]
public void ReplaceFields_Disk() public void ReplaceFields_Disk()
{ {
var datItem = new Disk(); var datItem = new Disk();
datItem.SetName("foo"); datItem.SetName("foo");
datItem.SetFieldValue<string?>(Models.Metadata.Disk.MD5Key, ZeroHash.MD5Str);
datItem.SetFieldValue<string?>(Models.Metadata.Disk.SHA1Key, ZeroHash.SHA1Str);
var repDatItem = new Disk(); var repDatItem = new Disk();
repDatItem.SetName("bar"); repDatItem.SetName("bar");
repDatItem.SetFieldValue<string?>(Models.Metadata.Disk.MD5Key, "deadbeef");
repDatItem.SetFieldValue<string?>(Models.Metadata.Disk.SHA1Key, "deadbeef");
var fields = new Dictionary<string, List<string>> var fields = new Dictionary<string, List<string>>
{ {
["item"] = [Models.Metadata.Disk.NameKey] ["item"] =
[
Models.Metadata.Disk.NameKey,
Models.Metadata.Disk.MD5Key,
Models.Metadata.Disk.SHA1Key,
]
}; };
Replacer.ReplaceFields(datItem, repDatItem, fields); Replacer.ReplaceFields(datItem, repDatItem, fields);
Assert.Equal("bar", datItem.GetName()); Assert.Equal("bar", datItem.GetName());
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Disk.MD5Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Disk.SHA1Key));
} }
// TODO: Check more fields for replacement
[Fact] [Fact]
public void ReplaceFields_File() public void ReplaceFields_File()
{ {
var datItem = new DatItems.Formats.File(); var datItem = new DatItems.Formats.File();
datItem.SetName("foo"); datItem.CRC = ZeroHash.CRC32Str;
datItem.MD5 = ZeroHash.MD5Str;
datItem.SHA1 = ZeroHash.SHA1Str;
datItem.SHA256 = ZeroHash.SHA256Str;
var repDatItem = new DatItems.Formats.File(); var repDatItem = new DatItems.Formats.File();
repDatItem.SetName("bar"); repDatItem.CRC = TextHelper.NormalizeCRC32("deadbeef");
repDatItem.MD5 = TextHelper.NormalizeMD5("deadbeef");
repDatItem.SHA1 = TextHelper.NormalizeSHA1("deadbeef");
repDatItem.SHA256 = TextHelper.NormalizeSHA256("deadbeef");
var fields = new Dictionary<string, List<string>> var fields = new Dictionary<string, List<string>>
{ {
["item"] = [Models.Metadata.Rom.NameKey] ["item"] =
[
Models.Metadata.Rom.CRCKey,
Models.Metadata.Rom.MD5Key,
Models.Metadata.Rom.SHA1Key,
Models.Metadata.Rom.SHA256Key,
]
}; };
Replacer.ReplaceFields(datItem, repDatItem, fields); Replacer.ReplaceFields(datItem, repDatItem, fields);
// TODO: There is no name field for File type Assert.Equal(TextHelper.NormalizeCRC32("deadbeef"), datItem.CRC);
//Assert.Equal("bar", datItem.GetName()); Assert.Equal(TextHelper.NormalizeMD5("deadbeef"), datItem.MD5);
Assert.Equal(TextHelper.NormalizeSHA1("deadbeef"), datItem.SHA1);
Assert.Equal(TextHelper.NormalizeSHA256("deadbeef"), datItem.SHA256);
} }
// TODO: Check more fields for replacement
[Fact] [Fact]
public void ReplaceFields_Media() public void ReplaceFields_Media()
{ {
var datItem = new Media(); var datItem = new Media();
datItem.SetName("foo"); datItem.SetName("foo");
datItem.SetFieldValue<string?>(Models.Metadata.Media.MD5Key, ZeroHash.MD5Str);
datItem.SetFieldValue<string?>(Models.Metadata.Media.SHA1Key, ZeroHash.SHA1Str);
datItem.SetFieldValue<string?>(Models.Metadata.Media.SHA256Key, ZeroHash.SHA256Str);
datItem.SetFieldValue<string?>(Models.Metadata.Media.SpamSumKey, ZeroHash.SpamSumStr);
var repDatItem = new Media(); var repDatItem = new Media();
repDatItem.SetName("bar"); repDatItem.SetName("bar");
datItem.SetFieldValue<string?>(Models.Metadata.Media.MD5Key, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Media.SHA1Key, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Media.SHA256Key, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Media.SpamSumKey, "deadbeef");
var fields = new Dictionary<string, List<string>> var fields = new Dictionary<string, List<string>>
{ {
["item"] = [Models.Metadata.Media.NameKey] ["item"] =
[
Models.Metadata.Media.NameKey,
Models.Metadata.Media.MD5Key,
Models.Metadata.Media.SHA1Key,
Models.Metadata.Media.SHA256Key,
Models.Metadata.Media.SpamSumKey,
]
}; };
Replacer.ReplaceFields(datItem, repDatItem, fields); Replacer.ReplaceFields(datItem, repDatItem, fields);
Assert.Equal("bar", datItem.GetName()); Assert.Equal("bar", datItem.GetName());
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Media.MD5Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Media.SHA1Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Media.SHA256Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Media.SpamSumKey));
} }
// TODO: Check more fields for replacement
[Fact] [Fact]
public void ReplaceFields_Rom() public void ReplaceFields_Rom()
{ {
var datItem = new Rom(); var datItem = new Rom();
datItem.SetName("foo"); datItem.SetName("foo");
datItem.SetFieldValue<string?>(Models.Metadata.Rom.CRCKey, ZeroHash.CRC32Str);
datItem.SetFieldValue<string?>(Models.Metadata.Rom.MD2Key, ZeroHash.GetString(HashType.MD2));
datItem.SetFieldValue<string?>(Models.Metadata.Rom.MD4Key, ZeroHash.GetString(HashType.MD4));
datItem.SetFieldValue<string?>(Models.Metadata.Rom.MD5Key, ZeroHash.MD5Str);
datItem.SetFieldValue<string?>(Models.Metadata.Rom.SHA1Key, ZeroHash.SHA1Str);
datItem.SetFieldValue<string?>(Models.Metadata.Rom.SHA256Key, ZeroHash.SHA256Str);
datItem.SetFieldValue<string?>(Models.Metadata.Rom.SHA384Key, ZeroHash.SHA384Str);
datItem.SetFieldValue<string?>(Models.Metadata.Rom.SHA512Key, ZeroHash.SHA512Str);
datItem.SetFieldValue<string?>(Models.Metadata.Rom.SpamSumKey, ZeroHash.SpamSumStr);
var repDatItem = new Rom(); var repDatItem = new Rom();
repDatItem.SetName("bar"); repDatItem.SetName("bar");
datItem.SetFieldValue<string?>(Models.Metadata.Rom.CRCKey, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Rom.MD2Key, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Rom.MD4Key, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Rom.MD5Key, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Rom.SHA1Key, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Rom.SHA256Key, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Rom.SHA384Key, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Rom.SHA512Key, "deadbeef");
datItem.SetFieldValue<string?>(Models.Metadata.Rom.SpamSumKey, "deadbeef");
var fields = new Dictionary<string, List<string>> var fields = new Dictionary<string, List<string>>
{ {
["item"] = [Models.Metadata.Rom.NameKey] ["item"] =
[
Models.Metadata.Rom.NameKey,
Models.Metadata.Rom.CRCKey,
Models.Metadata.Rom.MD2Key,
Models.Metadata.Rom.MD4Key,
Models.Metadata.Rom.MD5Key,
Models.Metadata.Rom.SHA1Key,
Models.Metadata.Rom.SHA256Key,
Models.Metadata.Rom.SHA384Key,
Models.Metadata.Rom.SHA512Key,
Models.Metadata.Rom.SpamSumKey,
]
}; };
Replacer.ReplaceFields(datItem, repDatItem, fields); Replacer.ReplaceFields(datItem, repDatItem, fields);
Assert.Equal("bar", datItem.GetName()); Assert.Equal("bar", datItem.GetName());
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Rom.CRCKey));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Rom.MD2Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Rom.MD4Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Rom.MD5Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Rom.SHA1Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Rom.SHA256Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Rom.SHA384Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Rom.SHA512Key));
Assert.Equal("deadbeef", datItem.GetStringFieldValue(Models.Metadata.Rom.SpamSumKey));
} }
[Fact] [Fact]

View File

@@ -105,13 +105,13 @@ namespace SabreTools.DatFiles
{ {
if (datItemFields.Contains(Models.Metadata.Disk.MD5Key)) if (datItemFields.Contains(Models.Metadata.Disk.MD5Key))
{ {
if (string.IsNullOrEmpty(disk.GetStringFieldValue(Models.Metadata.Disk.MD5Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Disk.MD5Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Disk.MD5Key)))
disk.SetFieldValue<string?>(Models.Metadata.Disk.MD5Key, newItem.GetStringFieldValue(Models.Metadata.Disk.MD5Key)); disk.SetFieldValue<string?>(Models.Metadata.Disk.MD5Key, newItem.GetStringFieldValue(Models.Metadata.Disk.MD5Key));
} }
if (datItemFields.Contains(Models.Metadata.Disk.SHA1Key)) if (datItemFields.Contains(Models.Metadata.Disk.SHA1Key))
{ {
if (string.IsNullOrEmpty(disk.GetStringFieldValue(Models.Metadata.Disk.SHA1Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Disk.SHA1Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Disk.SHA1Key)))
disk.SetFieldValue<string?>(Models.Metadata.Disk.SHA1Key, newItem.GetStringFieldValue(Models.Metadata.Disk.SHA1Key)); disk.SetFieldValue<string?>(Models.Metadata.Disk.SHA1Key, newItem.GetStringFieldValue(Models.Metadata.Disk.SHA1Key));
} }
} }
@@ -126,25 +126,25 @@ namespace SabreTools.DatFiles
{ {
if (datItemFields.Contains(Models.Metadata.Rom.CRCKey)) if (datItemFields.Contains(Models.Metadata.Rom.CRCKey))
{ {
if (string.IsNullOrEmpty(file.CRC) && !string.IsNullOrEmpty(newItem.CRC)) if (!string.IsNullOrEmpty(newItem.CRC))
file.CRC = newItem.CRC; file.CRC = newItem.CRC;
} }
if (datItemFields.Contains(Models.Metadata.Rom.MD5Key)) if (datItemFields.Contains(Models.Metadata.Rom.MD5Key))
{ {
if (string.IsNullOrEmpty(file.MD5) && !string.IsNullOrEmpty(newItem.MD5)) if (!string.IsNullOrEmpty(newItem.MD5))
file.MD5 = newItem.MD5; file.MD5 = newItem.MD5;
} }
if (datItemFields.Contains(Models.Metadata.Rom.SHA1Key)) if (datItemFields.Contains(Models.Metadata.Rom.SHA1Key))
{ {
if (string.IsNullOrEmpty(file.SHA1) && !string.IsNullOrEmpty(newItem.SHA1)) if (!string.IsNullOrEmpty(newItem.SHA1))
file.SHA1 = newItem.SHA1; file.SHA1 = newItem.SHA1;
} }
if (datItemFields.Contains(Models.Metadata.Rom.SHA256Key)) if (datItemFields.Contains(Models.Metadata.Rom.SHA256Key))
{ {
if (string.IsNullOrEmpty(file.SHA256) && !string.IsNullOrEmpty(newItem.SHA256)) if (!string.IsNullOrEmpty(newItem.SHA256))
file.SHA256 = newItem.SHA256; file.SHA256 = newItem.SHA256;
} }
} }
@@ -159,25 +159,25 @@ namespace SabreTools.DatFiles
{ {
if (datItemFields.Contains(Models.Metadata.Media.MD5Key)) if (datItemFields.Contains(Models.Metadata.Media.MD5Key))
{ {
if (string.IsNullOrEmpty(media.GetStringFieldValue(Models.Metadata.Media.MD5Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Media.MD5Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Media.MD5Key)))
media.SetFieldValue<string?>(Models.Metadata.Media.MD5Key, newItem.GetStringFieldValue(Models.Metadata.Media.MD5Key)); media.SetFieldValue<string?>(Models.Metadata.Media.MD5Key, newItem.GetStringFieldValue(Models.Metadata.Media.MD5Key));
} }
if (datItemFields.Contains(Models.Metadata.Media.SHA1Key)) if (datItemFields.Contains(Models.Metadata.Media.SHA1Key))
{ {
if (string.IsNullOrEmpty(media.GetStringFieldValue(Models.Metadata.Media.SHA1Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Media.SHA1Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Media.SHA1Key)))
media.SetFieldValue<string?>(Models.Metadata.Media.SHA1Key, newItem.GetStringFieldValue(Models.Metadata.Media.SHA1Key)); media.SetFieldValue<string?>(Models.Metadata.Media.SHA1Key, newItem.GetStringFieldValue(Models.Metadata.Media.SHA1Key));
} }
if (datItemFields.Contains(Models.Metadata.Media.SHA256Key)) if (datItemFields.Contains(Models.Metadata.Media.SHA256Key))
{ {
if (string.IsNullOrEmpty(media.GetStringFieldValue(Models.Metadata.Media.SHA256Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Media.SHA256Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Media.SHA256Key)))
media.SetFieldValue<string?>(Models.Metadata.Media.SHA256Key, newItem.GetStringFieldValue(Models.Metadata.Media.SHA256Key)); media.SetFieldValue<string?>(Models.Metadata.Media.SHA256Key, newItem.GetStringFieldValue(Models.Metadata.Media.SHA256Key));
} }
if (datItemFields.Contains(Models.Metadata.Media.SpamSumKey)) if (datItemFields.Contains(Models.Metadata.Media.SpamSumKey))
{ {
if (string.IsNullOrEmpty(media.GetStringFieldValue(Models.Metadata.Media.SpamSumKey)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Media.SpamSumKey))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Media.SpamSumKey)))
media.SetFieldValue<string?>(Models.Metadata.Media.SpamSumKey, newItem.GetStringFieldValue(Models.Metadata.Media.SpamSumKey)); media.SetFieldValue<string?>(Models.Metadata.Media.SpamSumKey, newItem.GetStringFieldValue(Models.Metadata.Media.SpamSumKey));
} }
} }
@@ -192,55 +192,55 @@ namespace SabreTools.DatFiles
{ {
if (datItemFields.Contains(Models.Metadata.Rom.CRCKey)) if (datItemFields.Contains(Models.Metadata.Rom.CRCKey))
{ {
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Models.Metadata.Rom.CRCKey)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.CRCKey))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.CRCKey)))
rom.SetFieldValue<string?>(Models.Metadata.Rom.CRCKey, newItem.GetStringFieldValue(Models.Metadata.Rom.CRCKey)); rom.SetFieldValue<string?>(Models.Metadata.Rom.CRCKey, newItem.GetStringFieldValue(Models.Metadata.Rom.CRCKey));
} }
if (datItemFields.Contains(Models.Metadata.Rom.MD2Key)) if (datItemFields.Contains(Models.Metadata.Rom.MD2Key))
{ {
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Models.Metadata.Rom.MD2Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.MD2Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.MD2Key)))
rom.SetFieldValue<string?>(Models.Metadata.Rom.MD2Key, newItem.GetStringFieldValue(Models.Metadata.Rom.MD2Key)); rom.SetFieldValue<string?>(Models.Metadata.Rom.MD2Key, newItem.GetStringFieldValue(Models.Metadata.Rom.MD2Key));
} }
if (datItemFields.Contains(Models.Metadata.Rom.MD4Key)) if (datItemFields.Contains(Models.Metadata.Rom.MD4Key))
{ {
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Models.Metadata.Rom.MD4Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.MD4Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.MD4Key)))
rom.SetFieldValue<string?>(Models.Metadata.Rom.MD4Key, newItem.GetStringFieldValue(Models.Metadata.Rom.MD4Key)); rom.SetFieldValue<string?>(Models.Metadata.Rom.MD4Key, newItem.GetStringFieldValue(Models.Metadata.Rom.MD4Key));
} }
if (datItemFields.Contains(Models.Metadata.Rom.MD5Key)) if (datItemFields.Contains(Models.Metadata.Rom.MD5Key))
{ {
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Models.Metadata.Rom.MD5Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.MD5Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.MD5Key)))
rom.SetFieldValue<string?>(Models.Metadata.Rom.MD5Key, newItem.GetStringFieldValue(Models.Metadata.Rom.MD5Key)); rom.SetFieldValue<string?>(Models.Metadata.Rom.MD5Key, newItem.GetStringFieldValue(Models.Metadata.Rom.MD5Key));
} }
if (datItemFields.Contains(Models.Metadata.Rom.SHA1Key)) if (datItemFields.Contains(Models.Metadata.Rom.SHA1Key))
{ {
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Models.Metadata.Rom.SHA1Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.SHA1Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.SHA1Key)))
rom.SetFieldValue<string?>(Models.Metadata.Rom.SHA1Key, newItem.GetStringFieldValue(Models.Metadata.Rom.SHA1Key)); rom.SetFieldValue<string?>(Models.Metadata.Rom.SHA1Key, newItem.GetStringFieldValue(Models.Metadata.Rom.SHA1Key));
} }
if (datItemFields.Contains(Models.Metadata.Rom.SHA256Key)) if (datItemFields.Contains(Models.Metadata.Rom.SHA256Key))
{ {
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Models.Metadata.Rom.SHA256Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.SHA256Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.SHA256Key)))
rom.SetFieldValue<string?>(Models.Metadata.Rom.SHA256Key, newItem.GetStringFieldValue(Models.Metadata.Rom.SHA256Key)); rom.SetFieldValue<string?>(Models.Metadata.Rom.SHA256Key, newItem.GetStringFieldValue(Models.Metadata.Rom.SHA256Key));
} }
if (datItemFields.Contains(Models.Metadata.Rom.SHA384Key)) if (datItemFields.Contains(Models.Metadata.Rom.SHA384Key))
{ {
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Models.Metadata.Rom.SHA384Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.SHA384Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.SHA384Key)))
rom.SetFieldValue<string?>(Models.Metadata.Rom.SHA384Key, newItem.GetStringFieldValue(Models.Metadata.Rom.SHA384Key)); rom.SetFieldValue<string?>(Models.Metadata.Rom.SHA384Key, newItem.GetStringFieldValue(Models.Metadata.Rom.SHA384Key));
} }
if (datItemFields.Contains(Models.Metadata.Rom.SHA512Key)) if (datItemFields.Contains(Models.Metadata.Rom.SHA512Key))
{ {
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Models.Metadata.Rom.SHA512Key)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.SHA512Key))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.SHA512Key)))
rom.SetFieldValue<string?>(Models.Metadata.Rom.SHA512Key, newItem.GetStringFieldValue(Models.Metadata.Rom.SHA512Key)); rom.SetFieldValue<string?>(Models.Metadata.Rom.SHA512Key, newItem.GetStringFieldValue(Models.Metadata.Rom.SHA512Key));
} }
if (datItemFields.Contains(Models.Metadata.Rom.SpamSumKey)) if (datItemFields.Contains(Models.Metadata.Rom.SpamSumKey))
{ {
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Models.Metadata.Rom.SpamSumKey)) && !string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.SpamSumKey))) if (!string.IsNullOrEmpty(newItem.GetStringFieldValue(Models.Metadata.Rom.SpamSumKey)))
rom.SetFieldValue<string?>(Models.Metadata.Rom.SpamSumKey, newItem.GetStringFieldValue(Models.Metadata.Rom.SpamSumKey)); rom.SetFieldValue<string?>(Models.Metadata.Rom.SpamSumKey, newItem.GetStringFieldValue(Models.Metadata.Rom.SpamSumKey));
} }
} }