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")]
[MaxLength(64)]
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")]
[Index("id", Name = "audit_events_events_id_fk")]
[Keyless]
public class AuditEvent
public class AuditEvent : AuditModel<Event>
{
[Column("id")]
public ulong id { get; set; }
[Column("savedEventId")]
public ulong savedEventId { get; set; }
@ -31,11 +28,20 @@ namespace DAL.Models.Audits
[Column("hidden")]
public bool hidden { get; set; }
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")]
public ulong updater { get; set; }
public override Event adaptToModel()
{
return new Event
{
id = id,
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")]
[Index("id", Name = "audit_grants_grants_id_fk")]
[Keyless]
public class AuditGrant
public class AuditGrant : AuditModel<Grant>
{
[Column("id")]
public ulong id { get; set; }
[Column("name")]
[MaxLength(128)]
public string name { get; set; } = null!;
@ -19,11 +16,16 @@ namespace DAL.Models.Audits
[Column("permissionId")]
public ulong permissionId { get; set; }
[Column("updated")]
[DataType("updated")]
public DateTime updated { get; set; }
[Column("updater")]
public ulong updater { get; set; }
public override Grant adaptToModel()
{
return new Grant
{
id = id,
name = name,
permissionId = permissionId,
updated = updated,
updater = updater
};
}
}
}

View File

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

View File

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

View File

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

View File

@ -7,11 +7,8 @@ namespace DAL.Models.Audits
[Table("audit_savedEvents")]
[Index("id", Name = "audit_savedEvents_savedEvents_id_fk")]
[Keyless]
public class AuditSavedEvent
public class AuditSavedEvent : AuditModel<SavedEvent>
{
[Column("id")]
public ulong id { get; set; }
[Column("name")]
[MaxLength(64)]
public string name { get; set; } = null!;
@ -25,11 +22,18 @@ namespace DAL.Models.Audits
[Column("imageId")]
public ulong? imageId { get; set; }
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")]
public ulong updater { get; set; }
public override SavedEvent adaptToModel()
{
return new SavedEvent
{
id = id,
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")]
[Index("id", Name = "audit_users_users_id_fk")]
[Keyless]
public class AuditUser
public class AuditUser : AuditModel<User>
{
[Column("id")]
public ulong id { get; set; }
[Column("firstName")]
[MaxLength(64)]
public string firstName { get; set; } = null!;
@ -30,11 +27,19 @@ namespace DAL.Models.Audits
[Column("permissionId")]
public ulong permissionId { get; set; }
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")]
public ulong updater { get; set; }
public override User adaptToModel()
{
return new User
{
id = id,
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)]
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()
{
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("imageId", Name = "events_images_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")]
public ulong savedEventId { get; set; }
@ -36,19 +32,25 @@ namespace DAL.Models
[Column("hidden")]
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 Color? bgColorRelation { get; set; }
public Color? fgColorRelation { 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("permissionId", Name = "grants_permissions_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")]
[MaxLength(128)]
public string name { get; set; } = null!;
@ -22,16 +18,18 @@ namespace DAL.Models
[Column("permissionId")]
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 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")]
[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")]
[MaxLength(64)]
public string name { get; set; } = null!;
@ -21,15 +17,17 @@ namespace DAL.Models
[MaxLength(128)]
public string filename { get; set; } = null!;
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")]
public ulong updater { get; set; }
public virtual User updaterRelation { get; set; } = null!;
public ICollection<AuditImage> audits { get; set; } = new List<AuditImage>();
public override AuditImage adaptToAudit()
{
return new AuditImage
{
id = id,
name = name,
filename = filename,
updated = updated,
updater = updater
};
}
}
}

View File

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

View File

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

View File

@ -10,12 +10,8 @@ namespace DAL.Models
[Index("fgColorId", Name = "savedEvents_colors_id_fk")]
[Index("bgColorId", Name = "savedEvents_colors_id_fk_2")]
[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")]
[MaxLength(64)]
public string name { get; set; } = null!;
@ -29,18 +25,22 @@ namespace DAL.Models
[Column("imageId")]
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 fgColorRelation { get; set; } = null!;
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")]
[Index("updater", Name = "users_users_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")]
[MaxLength(64)]
public string firstName { get; set; } = null!;
@ -47,15 +43,18 @@ namespace DAL.Models
[Column("permissionId")]
public ulong permissionId { get; set; }
[Column("updated")]
[DataType("datetime")]
public DateTime updated { get; set; }
[Column("updater")]
public ulong updater { get; set; }
public virtual User updaterRelation { get; set; } = null!;
public ICollection<AuditUser> audits { get; set; } = new List<AuditUser>();
public override AuditUser adaptToAudit()
{
return new AuditUser
{
id = id,
firstName = firstName,
lastName = lastName,
phoneNumber = phoneNumber,
hashingType = hashingType,
permissionId = permissionId
};
}
}
}