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]
|
[Key]
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
public int Code { 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;
|
if(mtsh.Value.descriptors[i].densityCodes == null) continue;
|
||||||
|
|
||||||
DensityCode[] array3 = new DensityCode[mtsh.Value.descriptors[i].densityCodes.Length];
|
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]};
|
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();
|
report.SupportedMediaTypes = array2.ToList();
|
||||||
@@ -201,9 +201,9 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
if(mtsh.Value.descriptors[i].densityCodes == null) continue;
|
if(mtsh.Value.descriptors[i].densityCodes == null) continue;
|
||||||
|
|
||||||
DensityCode[] array2 = new DensityCode[mtsh.Value.descriptors[i].densityCodes.Length];
|
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]};
|
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();
|
seqTest.SupportedMediaTypes = array.ToList();
|
||||||
|
|||||||
Reference in New Issue
Block a user