Added update methods to models

This commit is contained in:
quentin 2024-04-24 16:04:15 -05:00
parent 27846f596e
commit 03a72c365d
9 changed files with 60 additions and 9 deletions

View File

@ -9,7 +9,7 @@ namespace API.Services
{ {
public class ServiceBase<TLoggerCategory, TDTO, TModel, TAudit, TAuthentication> : IGenericService<TDTO, TModel, TAudit> public class ServiceBase<TLoggerCategory, TDTO, TModel, TAudit, TAuthentication> : IGenericService<TDTO, TModel, TAudit>
where TAuthentication : IGenericAuthentication<TDTO, TModel> where TAuthentication : IGenericAuthentication<TDTO, TModel>
where TModel : Model<TAudit> where TModel : Model<TModel, TAudit>
where TAudit : class where TAudit : class
where TDTO : IAdaptable<TModel> where TDTO : IAdaptable<TModel>
{ {
@ -77,6 +77,8 @@ namespace API.Services
copyToAudit(origModel); copyToAudit(origModel);
model.updateModel(ref origModel);
origModel.updated = DateTime.Now; origModel.updated = DateTime.Now;
origModel.updater = user.id; origModel.updater = user.id;

View File

@ -7,7 +7,7 @@ namespace DAL.Models
{ {
[Table("colors")] [Table("colors")]
[Index("updater", Name = "colors_users_id_fk")] [Index("updater", Name = "colors_users_id_fk")]
public class Color : Model<AuditColor> public class Color : Model<Color, AuditColor>
{ {
[Column("red")] [Column("red")]
public byte red { get; set; } public byte red { get; set; }
@ -35,5 +35,12 @@ namespace DAL.Models
updater = updater updater = updater
}; };
} }
public override void updateModel(ref Color dest)
{
dest.red = red;
dest.blue = blue;
dest.green = green;
dest.name = name;
}
} }
} }

View File

@ -11,7 +11,7 @@ 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 : Model<AuditEvent> public class Event : Model<Event, AuditEvent>
{ {
[Column("savedEventId")] [Column("savedEventId")]
public ulong savedEventId { get; set; } public ulong savedEventId { get; set; }
@ -52,5 +52,14 @@ namespace DAL.Models
updater = updater updater = updater
}; };
} }
public override void updateModel(ref Event dest)
{
dest.savedEventId = savedEventId;
dest.name = name;
dest.bgColorId = bgColorId;
dest.fgColorId = fgColorId;
dest.imageId = imageId;
dest.hidden = hidden;
}
} }
} }

View File

@ -9,7 +9,7 @@ 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 : Model<AuditGrant> public class Grant : Model<Grant, AuditGrant>
{ {
[Column("name")] [Column("name")]
[MaxLength(128)] [MaxLength(128)]
@ -31,5 +31,10 @@ namespace DAL.Models
updater = updater updater = updater
}; };
} }
public override void updateModel(ref Grant dest)
{
dest.name = name;
dest.permissionId = permissionId;
}
} }
} }

View File

@ -7,7 +7,7 @@ namespace DAL.Models
{ {
[Table("images")] [Table("images")]
[Index("updater", Name = "images_users_id_fk")] [Index("updater", Name = "images_users_id_fk")]
public class Image : Model<AuditImage> public class Image : Model<Image, AuditImage>
{ {
[Column("name")] [Column("name")]
[MaxLength(64)] [MaxLength(64)]
@ -29,5 +29,10 @@ namespace DAL.Models
updater = updater updater = updater
}; };
} }
public override void updateModel(ref Image dest)
{
dest.name = name;
dest.filename = filename;
}
} }
} }

View File

@ -3,7 +3,7 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace DAL.Models namespace DAL.Models
{ {
public abstract class Model<TAudit> public abstract class Model<TBase, TAudit>
{ {
[Key] [Key]
[Column("id")] [Column("id")]
@ -21,5 +21,7 @@ namespace DAL.Models
public ICollection<TAudit> audits { get; set; } = new List<TAudit>(); public ICollection<TAudit> audits { get; set; } = new List<TAudit>();
public abstract TAudit adaptToAudit(); public abstract TAudit adaptToAudit();
public abstract void updateModel(ref TBase dest);
} }
} }

View File

@ -7,7 +7,7 @@ namespace DAL.Models
{ {
[Table("permissions")] [Table("permissions")]
[Index("updater", Name = "permissions_users_id_fk")] [Index("updater", Name = "permissions_users_id_fk")]
public class Permission : Model<AuditPermission> public class Permission : Model<Permission, AuditPermission>
{ {
[Column("name")] [Column("name")]
[MaxLength(64)] [MaxLength(64)]
@ -24,5 +24,9 @@ namespace DAL.Models
updater = updater updater = updater
}; };
} }
public override void updateModel(ref Permission dest)
{
dest.name = name;
}
} }
} }

View File

@ -10,7 +10,7 @@ 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 : Model<AuditSavedEvent> public class SavedEvent : Model<SavedEvent, AuditSavedEvent>
{ {
[Column("name")] [Column("name")]
[MaxLength(64)] [MaxLength(64)]
@ -42,5 +42,12 @@ namespace DAL.Models
updater = updater updater = updater
}; };
} }
public override void updateModel(ref SavedEvent dest)
{
dest.name = name;
dest.bgColorId = bgColorId;
dest.fgColorId = fgColorId;
dest.imageId = imageId;
}
} }
} }

View File

@ -15,7 +15,7 @@ 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 : Model<AuditUser> public class User : Model<User, AuditUser>
{ {
[Column("firstName")] [Column("firstName")]
[MaxLength(64)] [MaxLength(64)]
@ -56,5 +56,15 @@ namespace DAL.Models
permissionId = permissionId permissionId = permissionId
}; };
} }
public override void updateModel(ref User dest)
{
dest.firstName = firstName;
dest.lastName = lastName;
dest.phoneNumber = phoneNumber;
dest.password = password;
dest.salt = salt;
dest.hashingType = hashingType;
dest.permissionId = permissionId;
}
} }
} }