diff --git a/back/src/Kyoo.Core/Controllers/Repositories/GenericRepository.cs b/back/src/Kyoo.Core/Controllers/Repositories/GenericRepository.cs index dbe199f2..36019ffd 100644 --- a/back/src/Kyoo.Core/Controllers/Repositories/GenericRepository.cs +++ b/back/src/Kyoo.Core/Controllers/Repositories/GenericRepository.cs @@ -297,6 +297,8 @@ public abstract class GenericRepository(DatabaseContext database) : IReposito { await Validate(edited); Database.Update(edited); + if (edited is IAddedDate date) + Database.Entry(date).Property(p => p.AddedDate).IsModified = false; await Database.SaveChangesAsync(); await IRepository.OnResourceEdited(edited); return edited; @@ -305,23 +307,15 @@ public abstract class GenericRepository(DatabaseContext database) : IReposito /// public virtual async Task Patch(Guid id, Func patch) { - bool lazyLoading = Database.ChangeTracker.LazyLoadingEnabled; - Database.ChangeTracker.LazyLoadingEnabled = false; - try - { - T resource = await GetWithTracking(id); + T resource = await GetWithTracking(id); - resource = patch(resource); + resource = patch(resource); + if (resource is IAddedDate date) + Database.Entry(date).Property(p => p.AddedDate).IsModified = false; - await Database.SaveChangesAsync(); - await IRepository.OnResourceEdited(resource); - return resource; - } - finally - { - Database.ChangeTracker.LazyLoadingEnabled = lazyLoading; - Database.ChangeTracker.Clear(); - } + await Database.SaveChangesAsync(); + await IRepository.OnResourceEdited(resource); + return resource; } ///