From 4a989abd83e4733d5f8b9e5bf2c06b140995fba0 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Sat, 29 Feb 2020 01:56:30 +0100 Subject: [PATCH] Implementing safe add --- Kyoo/Controllers/LibraryManager.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Kyoo/Controllers/LibraryManager.cs b/Kyoo/Controllers/LibraryManager.cs index b4f795a5..1669680a 100644 --- a/Kyoo/Controllers/LibraryManager.cs +++ b/Kyoo/Controllers/LibraryManager.cs @@ -310,28 +310,32 @@ namespace Kyoo.Controllers #region Write Into The Database public long RegisterCollection(Collection collection) { - _database.Collections.Add(collection); + if (_database.Entry(collection).State == EntityState.Detached) + _database.Collections.Add(collection); _database.SaveChanges(); return collection.ID; } public long RegisterShow(Show show) { - _database.Shows.Add(show); + if (_database.Entry(show).State == EntityState.Detached) + _database.Shows.Add(show); _database.SaveChanges(); return show.ID; } public long RegisterSeason(Season season) { - _database.Seasons.Add(season); + if (_database.Entry(season).State == EntityState.Detached) + _database.Seasons.Add(season); _database.SaveChanges(); return season.ID; } public long RegisterEpisode(Episode episode) { - _database.Episodes.Add(episode); + if (_database.Entry(episode).State == EntityState.Detached) + _database.Episodes.Add(episode); _database.SaveChanges(); return episode.ID; }