From a88c2277c16b5e0eb8a45f6489191db0538b02eb Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Mon, 15 Jun 2020 22:12:14 +0200 Subject: [PATCH] Fixing the episode's repository movie get --- Kyoo/Controllers/Repositories/EpisodeRepository.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Kyoo/Controllers/Repositories/EpisodeRepository.cs b/Kyoo/Controllers/Repositories/EpisodeRepository.cs index e0e4f7f7..f3f05c95 100644 --- a/Kyoo/Controllers/Repositories/EpisodeRepository.cs +++ b/Kyoo/Controllers/Repositories/EpisodeRepository.cs @@ -32,15 +32,19 @@ namespace Kyoo.Controllers return _database.DisposeAsync(); } - public async Task Get(int id) + public Task Get(int id) { - return await _database.Episodes.FirstOrDefaultAsync(x => x.ID == id); + return _database.Episodes.FirstOrDefaultAsync(x => x.ID == id); } public Task Get(string slug) { int sIndex = slug.IndexOf("-s", StringComparison.Ordinal); int eIndex = slug.IndexOf("-e", StringComparison.Ordinal); + + if (sIndex == -1 && eIndex == -1) + return _database.Episodes.FirstOrDefaultAsync(x => x.Show.Slug == slug); + if (sIndex == -1 || eIndex == -1 || eIndex < sIndex) throw new InvalidOperationException("Invalid episode slug. Format: {showSlug}-s{seasonNumber}-e{episodeNumber}"); string showSlug = slug.Substring(0, sIndex); @@ -51,9 +55,9 @@ namespace Kyoo.Controllers return Get(showSlug, seasonNumber, episodeNumber); } - public async Task Get(string showSlug, int seasonNumber, int episodeNumber) + public Task Get(string showSlug, int seasonNumber, int episodeNumber) { - return await _database.Episodes.FirstOrDefaultAsync(x => x.Show.Slug == showSlug + return _database.Episodes.FirstOrDefaultAsync(x => x.Show.Slug == showSlug && x.SeasonNumber == seasonNumber && x.EpisodeNumber == episodeNumber); }