mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Select only distinct density codes when creating device report.
This commit is contained in:
@@ -1683,9 +1683,30 @@ namespace DiscImageChef.CommonTypes.Metadata
|
||||
}
|
||||
}
|
||||
|
||||
public class DensityCode
|
||||
public class DensityCode : IEquatable<DensityCode>
|
||||
{
|
||||
[JsonIgnore]
|
||||
[Key]
|
||||
public int Id { get; set; }
|
||||
|
||||
public int Code { get; set; }
|
||||
|
||||
public bool Equals(DensityCode other)
|
||||
{
|
||||
if(ReferenceEquals(null, other)) return false;
|
||||
if(ReferenceEquals(this, other)) return true;
|
||||
|
||||
return Code == other.Code;
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if(ReferenceEquals(null, obj)) return false;
|
||||
if(ReferenceEquals(this, obj)) return true;
|
||||
|
||||
return obj.GetType() == GetType() && Equals((DensityCode)obj);
|
||||
}
|
||||
|
||||
public override int GetHashCode() => Code;
|
||||
}
|
||||
}
|
||||
@@ -110,9 +110,9 @@ namespace DiscImageChef.Core.Devices.Report
|
||||
if(mtsh.Value.descriptors[i].densityCodes == null) continue;
|
||||
|
||||
DensityCode[] array3 = new DensityCode[mtsh.Value.descriptors[i].densityCodes.Length];
|
||||
for(int j = 0; j < mtsh.Value.descriptors.Length; j++)
|
||||
for(int j = 0; j < mtsh.Value.descriptors[i].densityCodes.Length; j++)
|
||||
array3[j] = new DensityCode {Code = mtsh.Value.descriptors[i].densityCodes[j]};
|
||||
array2[i].DensityCodes = array3.ToList();
|
||||
array2[i].DensityCodes = array3.Distinct().ToList();
|
||||
}
|
||||
|
||||
report.SupportedMediaTypes = array2.ToList();
|
||||
@@ -201,9 +201,9 @@ namespace DiscImageChef.Core.Devices.Report
|
||||
if(mtsh.Value.descriptors[i].densityCodes == null) continue;
|
||||
|
||||
DensityCode[] array2 = new DensityCode[mtsh.Value.descriptors[i].densityCodes.Length];
|
||||
for(int j = 0; j < mtsh.Value.descriptors.Length; j++)
|
||||
for(int j = 0; j < mtsh.Value.descriptors[i].densityCodes.Length; j++)
|
||||
array2[j] = new DensityCode {Code = mtsh.Value.descriptors[i].densityCodes[j]};
|
||||
array[i].DensityCodes = array2.ToList();
|
||||
array[i].DensityCodes = array2.Distinct().ToList();
|
||||
}
|
||||
|
||||
seqTest.SupportedMediaTypes = array.ToList();
|
||||
|
||||
Reference in New Issue
Block a user