diff --git a/DiscImageChef.Server/Models/BaseModel.cs b/DiscImageChef.Server/Models/BaseModel.cs new file mode 100644 index 00000000..ad69c880 --- /dev/null +++ b/DiscImageChef.Server/Models/BaseModel.cs @@ -0,0 +1,10 @@ +using System.ComponentModel.DataAnnotations; + +namespace DiscImageChef.Server.Models +{ + public class BaseModel + { + [Key] + public T Id { get; set; } + } +} \ No newline at end of file diff --git a/DiscImageChef.Server/Models/Command.cs b/DiscImageChef.Server/Models/Command.cs index 9c5d3bf6..6fe0dfe1 100644 --- a/DiscImageChef.Server/Models/Command.cs +++ b/DiscImageChef.Server/Models/Command.cs @@ -30,15 +30,10 @@ // Copyright © 2011-2019 Natalia Portillo // ****************************************************************************/ -using System.ComponentModel.DataAnnotations; - namespace DiscImageChef.Server.Models { - public class Command + public class Command : BaseModel { - [Key] - public int Id { get; set; } - public string Name { get; set; } public long Count { get; set; } } diff --git a/DiscImageChef.Server/Models/DeviceStat.cs b/DiscImageChef.Server/Models/DeviceStat.cs index ca677b8c..a33c2855 100644 --- a/DiscImageChef.Server/Models/DeviceStat.cs +++ b/DiscImageChef.Server/Models/DeviceStat.cs @@ -30,15 +30,10 @@ // Copyright © 2011-2019 Natalia Portillo // ****************************************************************************/ -using System.ComponentModel.DataAnnotations; - namespace DiscImageChef.Server.Models { - public class DeviceStat + public class DeviceStat : BaseModel { - [Key] - public int Id { get; set; } - public string Manufacturer { get; set; } public string Model { get; set; } public string Revision { get; set; } diff --git a/DiscImageChef.Server/Models/Filesystem.cs b/DiscImageChef.Server/Models/Filesystem.cs index be57e4a7..4ccd324f 100644 --- a/DiscImageChef.Server/Models/Filesystem.cs +++ b/DiscImageChef.Server/Models/Filesystem.cs @@ -30,15 +30,10 @@ // Copyright © 2011-2019 Natalia Portillo // ****************************************************************************/ -using System.ComponentModel.DataAnnotations; - namespace DiscImageChef.Server.Models { - public class Filesystem + public class Filesystem : BaseModel { - [Key] - public int Id { get; set; } - public string Name { get; set; } public long Count { get; set; } } diff --git a/DiscImageChef.Server/Models/Filter.cs b/DiscImageChef.Server/Models/Filter.cs index b573cc32..5103d3f8 100644 --- a/DiscImageChef.Server/Models/Filter.cs +++ b/DiscImageChef.Server/Models/Filter.cs @@ -30,15 +30,10 @@ // Copyright © 2011-2019 Natalia Portillo // ****************************************************************************/ -using System.ComponentModel.DataAnnotations; - namespace DiscImageChef.Server.Models { - public class Filter + public class Filter : BaseModel { - [Key] - public int Id { get; set; } - public string Name { get; set; } public long Count { get; set; } } diff --git a/DiscImageChef.Server/Models/FindReportModel.cs b/DiscImageChef.Server/Models/FindReportModel.cs index bebee1ba..e8d95eb7 100644 --- a/DiscImageChef.Server/Models/FindReportModel.cs +++ b/DiscImageChef.Server/Models/FindReportModel.cs @@ -2,9 +2,8 @@ using System.Collections.Generic; namespace DiscImageChef.Server.Models { - public class FindReportModel + public class FindReportModel : BaseModel { - public int Id { get; set; } public string Manufacturer { get; set; } public string Model { get; set; } public string Revision { get; set; } diff --git a/DiscImageChef.Server/Models/IdHashModel.cs b/DiscImageChef.Server/Models/IdHashModel.cs index c05ccd23..bd313598 100644 --- a/DiscImageChef.Server/Models/IdHashModel.cs +++ b/DiscImageChef.Server/Models/IdHashModel.cs @@ -1,6 +1,6 @@ namespace DiscImageChef.Server.Models { - public class IdHashModel + public class IdHashModel : BaseModel { public IdHashModel(int id, string hash) { @@ -8,7 +8,6 @@ namespace DiscImageChef.Server.Models Hash = hash; } - public int Id { get; set; } public string Hash { get; set; } public string Description { get; set; } public int[] Duplicates { get; set; } diff --git a/DiscImageChef.Server/Models/Media.cs b/DiscImageChef.Server/Models/Media.cs index 561c0ed1..bc8b1beb 100644 --- a/DiscImageChef.Server/Models/Media.cs +++ b/DiscImageChef.Server/Models/Media.cs @@ -32,19 +32,16 @@ using System; using System.ComponentModel; -using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using DiscImageChef.CommonTypes; namespace DiscImageChef.Server.Models { - public class Media + public class Media : BaseModel { [NotMapped] (string type, string subType) _mediaType; - [Key] - public int Id { get; set; } public string Type { get; set; } public bool Real { get; set; } public long Count { get; set; } diff --git a/DiscImageChef.Server/Models/MediaFormat.cs b/DiscImageChef.Server/Models/MediaFormat.cs index e62d66d9..b438431f 100644 --- a/DiscImageChef.Server/Models/MediaFormat.cs +++ b/DiscImageChef.Server/Models/MediaFormat.cs @@ -30,15 +30,10 @@ // Copyright © 2011-2019 Natalia Portillo // ****************************************************************************/ -using System.ComponentModel.DataAnnotations; - namespace DiscImageChef.Server.Models { - public class MediaFormat + public class MediaFormat : BaseModel { - [Key] - public int Id { get; set; } - public string Name { get; set; } public long Count { get; set; } } diff --git a/DiscImageChef.Server/Models/MmcModelForView.cs b/DiscImageChef.Server/Models/MmcModelForView.cs index d8d6dcd4..ecda25a8 100644 --- a/DiscImageChef.Server/Models/MmcModelForView.cs +++ b/DiscImageChef.Server/Models/MmcModelForView.cs @@ -3,9 +3,8 @@ using System.ComponentModel.DataAnnotations; namespace DiscImageChef.Server.Models { - public class MmcModelForView + public class MmcModelForView : BaseModel { - public int Id { get; set; } [DisplayFormat(NullDisplayText = "none"), DisplayName("MMC FEATURES ID")] public int? FeaturesId { get; set; } [DisplayName("Response length (bytes)")] diff --git a/DiscImageChef.Server/Models/OperatingSystem.cs b/DiscImageChef.Server/Models/OperatingSystem.cs index d8c0676c..bfc7dc3d 100644 --- a/DiscImageChef.Server/Models/OperatingSystem.cs +++ b/DiscImageChef.Server/Models/OperatingSystem.cs @@ -30,15 +30,10 @@ // Copyright © 2011-2019 Natalia Portillo // ****************************************************************************/ -using System.ComponentModel.DataAnnotations; - namespace DiscImageChef.Server.Models { - public class OperatingSystem + public class OperatingSystem : BaseModel { - [Key] - public int Id { get; set; } - public string Name { get; set; } public string Version { get; set; } public long Count { get; set; } diff --git a/DiscImageChef.Server/Models/Partition.cs b/DiscImageChef.Server/Models/Partition.cs index 36b74f66..afe153b3 100644 --- a/DiscImageChef.Server/Models/Partition.cs +++ b/DiscImageChef.Server/Models/Partition.cs @@ -30,15 +30,10 @@ // Copyright © 2011-2019 Natalia Portillo // ****************************************************************************/ -using System.ComponentModel.DataAnnotations; - namespace DiscImageChef.Server.Models { - public class Partition + public class Partition : BaseModel { - [Key] - public int Id { get; set; } - public string Name { get; set; } public long Count { get; set; } } diff --git a/DiscImageChef.Server/Models/UsbProduct.cs b/DiscImageChef.Server/Models/UsbProduct.cs index 45b22237..0bf22a1f 100644 --- a/DiscImageChef.Server/Models/UsbProduct.cs +++ b/DiscImageChef.Server/Models/UsbProduct.cs @@ -31,12 +31,11 @@ // ****************************************************************************/ using System; -using System.ComponentModel.DataAnnotations; using Newtonsoft.Json; namespace DiscImageChef.Server.Models { - public class UsbProduct + public class UsbProduct : BaseModel { public UsbProduct() { } @@ -48,9 +47,6 @@ namespace DiscImageChef.Server.Models Vendor = vendor; } - [Key] - public int Id { get; set; } - public ushort ProductId { get; set; } public string Product { get; set; } public DateTime AddedWhen { get; set; } diff --git a/DiscImageChef.Server/Models/UsbVendor.cs b/DiscImageChef.Server/Models/UsbVendor.cs index 81670ff5..f7a3a6ec 100644 --- a/DiscImageChef.Server/Models/UsbVendor.cs +++ b/DiscImageChef.Server/Models/UsbVendor.cs @@ -38,7 +38,7 @@ using Newtonsoft.Json; namespace DiscImageChef.Server.Models { - public class UsbVendor + public class UsbVendor : BaseModel { public UsbVendor() { } @@ -49,9 +49,6 @@ namespace DiscImageChef.Server.Models AddedWhen = ModifiedWhen = DateTime.UtcNow; } - [Key] - public int Id { get; set; } - [DisplayName("Manufacturer ID"), DisplayFormat(DataFormatString = "0x{0:X4}")] public ushort VendorId { get; set; } [DisplayName("Manufacturer")] diff --git a/DiscImageChef.Server/Models/Version.cs b/DiscImageChef.Server/Models/Version.cs index 25bfa08c..6e964bef 100644 --- a/DiscImageChef.Server/Models/Version.cs +++ b/DiscImageChef.Server/Models/Version.cs @@ -30,15 +30,10 @@ // Copyright © 2011-2019 Natalia Portillo // ****************************************************************************/ -using System.ComponentModel.DataAnnotations; - namespace DiscImageChef.Server.Models { - public class Version + public class Version : BaseModel { - [Key] - public int Id { get; set; } - public string Value { get; set; } public long Count { get; set; } }