Updated models to use inheritance

This commit is contained in:
quentin 2024-04-22 17:34:27 -05:00
parent f7b337e25a
commit 99b3f65c97
16 changed files with 188 additions and 150 deletions

View File

@ -21,5 +21,19 @@ namespace DAL.Models.Audits
[Column("name")] [Column("name")]
[MaxLength(64)] [MaxLength(64)]
public string name { get; set; } = null!; public string name { get; set; } = null!;
public override Color adaptToModel()
{
return new Color
{
id = id,
red = red,
blue = blue,
green = green,
name = name,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -7,11 +7,8 @@ namespace DAL.Models.Audits
[Table("audit_event")] [Table("audit_event")]
[Index("id", Name = "audit_events_events_id_fk")] [Index("id", Name = "audit_events_events_id_fk")]
[Keyless] [Keyless]
public class AuditEvent public class AuditEvent : AuditModel<Event>
{ {
[Column("id")]
public ulong id { get; set; }
[Column("savedEventId")] [Column("savedEventId")]
public ulong savedEventId { get; set; } public ulong savedEventId { get; set; }
@ -31,11 +28,20 @@ namespace DAL.Models.Audits
[Column("hidden")] [Column("hidden")]
public bool hidden { get; set; } public bool hidden { get; set; }
[Column("updated")] public override Event adaptToModel()
[DataType("datetime")] {
public DateTime updated { get; set; } return new Event
{
[Column("updater")] id = id,
public ulong updater { get; set; } savedEventId = savedEventId,
name = name,
bgColorId = bgColorId,
fgColorId = fgColorId,
imageId = imageId,
hidden = hidden,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -7,11 +7,8 @@ namespace DAL.Models.Audits
[Table("audit_grants")] [Table("audit_grants")]
[Index("id", Name = "audit_grants_grants_id_fk")] [Index("id", Name = "audit_grants_grants_id_fk")]
[Keyless] [Keyless]
public class AuditGrant public class AuditGrant : AuditModel<Grant>
{ {
[Column("id")]
public ulong id { get; set; }
[Column("name")] [Column("name")]
[MaxLength(128)] [MaxLength(128)]
public string name { get; set; } = null!; public string name { get; set; } = null!;
@ -19,11 +16,16 @@ namespace DAL.Models.Audits
[Column("permissionId")] [Column("permissionId")]
public ulong permissionId { get; set; } public ulong permissionId { get; set; }
[Column("updated")] public override Grant adaptToModel()
[DataType("updated")] {
public DateTime updated { get; set; } return new Grant
{
[Column("updater")] id = id,
public ulong updater { get; set; } name = name,
permissionId = permissionId,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -7,12 +7,8 @@ namespace DAL.Models.Audits
[Table("audit_images")] [Table("audit_images")]
[Index("id", Name = "audit_images_images_id_fk")] [Index("id", Name = "audit_images_images_id_fk")]
[Keyless] [Keyless]
public class AuditImage public class AuditImage : AuditModel<Image>
{ {
[Key]
[Column("id")]
public ulong id { get; set; }
[Column("name")] [Column("name")]
[MaxLength(64)] [MaxLength(64)]
public string name { get; set; } = null!; public string name { get; set; } = null!;
@ -21,11 +17,16 @@ namespace DAL.Models.Audits
[MaxLength(128)] [MaxLength(128)]
public string filename { get; set; } = null!; public string filename { get; set; } = null!;
[Column("updated")] public override Image adaptToModel()
[DataType("datetime")] {
public DateTime updated { get; set; } return new Image
{
[Column("updater")] id = id,
public ulong updater { get; set; } name = name,
filename = filename,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -14,5 +14,7 @@ namespace DAL.Models.Audits
[Column("updater")] [Column("updater")]
public ulong updater { get; set; } public ulong updater { get; set; }
public abstract TModel adaptToModel();
} }
} }

View File

@ -7,20 +7,21 @@ namespace DAL.Models.Audits
[Table("audit_permissions")] [Table("audit_permissions")]
[Index("id", Name = "audit_permissions_permissions_id_fk")] [Index("id", Name = "audit_permissions_permissions_id_fk")]
[Keyless] [Keyless]
public class AuditPermission public class AuditPermission : AuditModel<Permission>
{ {
[Column("id")]
public ulong id { get; set; }
[Column("name")] [Column("name")]
[MaxLength(64)] [MaxLength(64)]
public string name { get; set; } = null!; public string name { get; set; } = null!;
[Column("updated")] public override Permission adaptToModel()
[DataType("datetime")] {
public DateTime updated { get; set; } return new Permission
{
[Column("updater")] id = id,
public ulong updater { get; set; } name = name,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -7,11 +7,8 @@ namespace DAL.Models.Audits
[Table("audit_savedEvents")] [Table("audit_savedEvents")]
[Index("id", Name = "audit_savedEvents_savedEvents_id_fk")] [Index("id", Name = "audit_savedEvents_savedEvents_id_fk")]
[Keyless] [Keyless]
public class AuditSavedEvent public class AuditSavedEvent : AuditModel<SavedEvent>
{ {
[Column("id")]
public ulong id { get; set; }
[Column("name")] [Column("name")]
[MaxLength(64)] [MaxLength(64)]
public string name { get; set; } = null!; public string name { get; set; } = null!;
@ -25,11 +22,18 @@ namespace DAL.Models.Audits
[Column("imageId")] [Column("imageId")]
public ulong? imageId { get; set; } public ulong? imageId { get; set; }
[Column("updated")] public override SavedEvent adaptToModel()
[DataType("datetime")] {
public DateTime updated { get; set; } return new SavedEvent
{
[Column("updater")] id = id,
public ulong updater { get; set; } name = name,
bgColorId = bgColorId,
fgColorId = fgColorId,
imageId = imageId,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -7,11 +7,8 @@ namespace DAL.Models.Audits
[Table("audit_users")] [Table("audit_users")]
[Index("id", Name = "audit_users_users_id_fk")] [Index("id", Name = "audit_users_users_id_fk")]
[Keyless] [Keyless]
public class AuditUser public class AuditUser : AuditModel<User>
{ {
[Column("id")]
public ulong id { get; set; }
[Column("firstName")] [Column("firstName")]
[MaxLength(64)] [MaxLength(64)]
public string firstName { get; set; } = null!; public string firstName { get; set; } = null!;
@ -30,11 +27,19 @@ namespace DAL.Models.Audits
[Column("permissionId")] [Column("permissionId")]
public ulong permissionId { get; set; } public ulong permissionId { get; set; }
[Column("updated")] public override User adaptToModel()
[DataType("datetime")] {
public DateTime updated { get; set; } return new User
{
[Column("updater")] id = id,
public ulong updater { get; set; } firstName = firstName,
lastName = lastName,
phoneNumber = phoneNumber,
hashingType = hashingType,
permissionId = permissionId,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -22,13 +22,18 @@ namespace DAL.Models
[MaxLength(64)] [MaxLength(64)]
public string name { get; set; } = null!; public string name { get; set; } = null!;
public User updaterRelation { get; set; } = null!;
public ICollection<AuditColor> audits { get; set; } = new List<AuditColor>();
public override AuditColor adaptToAudit() public override AuditColor adaptToAudit()
{ {
throw new NotImplementedException(); return new AuditColor
{
id = id,
red = red,
blue = blue,
green = green,
name = name,
updated = updated,
updater = updater
};
} }
} }
} }

View File

@ -11,12 +11,8 @@ namespace DAL.Models
[Index("fgColorId", Name = "events_colors_id_fk_2")] [Index("fgColorId", Name = "events_colors_id_fk_2")]
[Index("imageId", Name = "events_images_id_fk")] [Index("imageId", Name = "events_images_id_fk")]
[Index("savedEventId", Name = "events_savedEvents_id_fk")] [Index("savedEventId", Name = "events_savedEvents_id_fk")]
public class Event public class Event : Model<AuditEvent>
{ {
[Key]
[Column("id")]
public ulong id { get; set; }
[Column("savedEventId")] [Column("savedEventId")]
public ulong savedEventId { get; set; } public ulong savedEventId { get; set; }
@ -36,19 +32,25 @@ namespace DAL.Models
[Column("hidden")] [Column("hidden")]
public bool hidden { get; set; } public bool hidden { get; set; }
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")]
public ulong updater { get; set; }
public User updaterRelation { get; set; } = null!;
public SavedEvent savedEventRelation { get; set; } = null!; public SavedEvent savedEventRelation { get; set; } = null!;
public Color? bgColorRelation { get; set; } public Color? bgColorRelation { get; set; }
public Color? fgColorRelation { get; set; } public Color? fgColorRelation { get; set; }
public Image? imageRelation { get; set; } public Image? imageRelation { get; set; }
public ICollection<AuditEvent> audits { get; set; } = new List<AuditEvent>(); public override AuditEvent adaptToAudit()
{
return new AuditEvent
{
id = id,
savedEventId = savedEventId,
name = name,
bgColorId = bgColorId,
fgColorId = fgColorId,
imageId = imageId,
hidden = hidden,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -9,12 +9,8 @@ namespace DAL.Models
[Index("updater", Name = "grants_users_id_fk")] [Index("updater", Name = "grants_users_id_fk")]
[Index("permissionId", Name = "grants_permissions_id_fk")] [Index("permissionId", Name = "grants_permissions_id_fk")]
[Index("updater", Name = "grants_users_id_fk")] [Index("updater", Name = "grants_users_id_fk")]
public class Grant public class Grant : Model<AuditGrant>
{ {
[Key]
[Column("id")]
public ulong id { get; set; }
[Column("name")] [Column("name")]
[MaxLength(128)] [MaxLength(128)]
public string name { get; set; } = null!; public string name { get; set; } = null!;
@ -22,16 +18,18 @@ namespace DAL.Models
[Column("permissionId")] [Column("permissionId")]
public ulong permissionId { get; set; } public ulong permissionId { get; set; }
[Column("updated")]
[DataType("updated")]
public DateTime updated { get; set; }
[Column("updater")]
public ulong updater { get; set; }
public virtual User updaterRelation { get; set; } = null!;
public virtual Permission permissionRelation { get; set; } = null!; public virtual Permission permissionRelation { get; set; } = null!;
public ICollection<AuditGrant> audits { get; set; } = new List<AuditGrant>(); public override AuditGrant adaptToAudit()
{
return new AuditGrant
{
id = id,
name = name,
permissionId = permissionId,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -7,12 +7,8 @@ namespace DAL.Models
{ {
[Table("images")] [Table("images")]
[Index("updater", Name = "images_users_id_fk")] [Index("updater", Name = "images_users_id_fk")]
public class Image public class Image : Model<AuditImage>
{ {
[Key]
[Column("id")]
public ulong id { get; set; }
[Column("name")] [Column("name")]
[MaxLength(64)] [MaxLength(64)]
public string name { get; set; } = null!; public string name { get; set; } = null!;
@ -21,15 +17,17 @@ namespace DAL.Models
[MaxLength(128)] [MaxLength(128)]
public string filename { get; set; } = null!; public string filename { get; set; } = null!;
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")] public override AuditImage adaptToAudit()
public ulong updater { get; set; } {
return new AuditImage
public virtual User updaterRelation { get; set; } = null!; {
id = id,
public ICollection<AuditImage> audits { get; set; } = new List<AuditImage>(); name = name,
filename = filename,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -16,6 +16,10 @@ namespace DAL.Models
[Column("updater")] [Column("updater")]
public ulong updater { get; set; } public ulong updater { get; set; }
public User updaterRelation { get; set; } = null!;
public ICollection<TAudit> audits { get; set; } = new List<TAudit>();
public abstract TAudit adaptToAudit(); public abstract TAudit adaptToAudit();
} }
} }

View File

@ -7,25 +7,22 @@ namespace DAL.Models
{ {
[Table("permissions")] [Table("permissions")]
[Index("updater", Name = "permissions_users_id_fk")] [Index("updater", Name = "permissions_users_id_fk")]
public class Permission public class Permission : Model<AuditPermission>
{ {
[Key]
[Column("id")]
public ulong id { get; set; }
[Column("name")] [Column("name")]
[MaxLength(64)] [MaxLength(64)]
public string name { get; set; } = null!; public string name { get; set; } = null!;
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")] public override AuditPermission adaptToAudit()
public ulong updater { get; set; } {
return new AuditPermission
public virtual User updaterRelation { get; set; } = null!; {
id = id,
public ICollection<AuditPermission> audits { get; set; } = new List<AuditPermission>(); name = name,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -10,12 +10,8 @@ namespace DAL.Models
[Index("fgColorId", Name = "savedEvents_colors_id_fk")] [Index("fgColorId", Name = "savedEvents_colors_id_fk")]
[Index("bgColorId", Name = "savedEvents_colors_id_fk_2")] [Index("bgColorId", Name = "savedEvents_colors_id_fk_2")]
[Index("imageId", Name = "savedEvents_images_id_fk")] [Index("imageId", Name = "savedEvents_images_id_fk")]
public class SavedEvent public class SavedEvent : Model<AuditSavedEvent>
{ {
[Key]
[Column("id")]
public ulong id { get; set; }
[Column("name")] [Column("name")]
[MaxLength(64)] [MaxLength(64)]
public string name { get; set; } = null!; public string name { get; set; } = null!;
@ -29,18 +25,22 @@ namespace DAL.Models
[Column("imageId")] [Column("imageId")]
public ulong? imageId { get; set; } public ulong? imageId { get; set; }
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")]
public ulong updater { get; set; }
public User updaterRelation { get; set; } = null!;
public Color bgColorRelation { get; set; } = null!; public Color bgColorRelation { get; set; } = null!;
public Color fgColorRelation { get; set; } = null!; public Color fgColorRelation { get; set; } = null!;
public Image? imageRelation { get; set; } public Image? imageRelation { get; set; }
public ICollection<AuditSavedEvent> audits { get; set; } = new List<AuditSavedEvent>(); public override AuditSavedEvent adaptToAudit()
{
return new AuditSavedEvent
{
id = id,
name = name,
bgColorId = bgColorId,
fgColorId = fgColorId,
imageId = imageId,
updated = updated,
updater = updater
};
}
} }
} }

View File

@ -15,12 +15,8 @@ namespace DAL.Models
[Table("users")] [Table("users")]
[Index("updater", Name = "users_users_id_fk")] [Index("updater", Name = "users_users_id_fk")]
[Index("permissionId", Name = "users_permissions_id_fk")] [Index("permissionId", Name = "users_permissions_id_fk")]
public class User public class User : Model<AuditUser>
{ {
[Key]
[Column("id")]
public ulong id { get; set; }
[Column("firstName")] [Column("firstName")]
[MaxLength(64)] [MaxLength(64)]
public string firstName { get; set; } = null!; public string firstName { get; set; } = null!;
@ -47,15 +43,18 @@ namespace DAL.Models
[Column("permissionId")] [Column("permissionId")]
public ulong permissionId { get; set; } public ulong permissionId { get; set; }
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")] public override AuditUser adaptToAudit()
public ulong updater { get; set; } {
return new AuditUser
public virtual User updaterRelation { get; set; } = null!; {
id = id,
public ICollection<AuditUser> audits { get; set; } = new List<AuditUser>(); firstName = firstName,
lastName = lastName,
phoneNumber = phoneNumber,
hashingType = hashingType,
permissionId = permissionId
};
}
} }
} }