From e7ad09cf62ca166681292e54804644c0d3ab1df5 Mon Sep 17 00:00:00 2001 From: Leonardo Galli Date: Thu, 10 Jan 2019 16:07:41 +0100 Subject: [PATCH] Fixed: Hopefully fixed sqlite errors when finding by title. --- src/NzbDrone.Core/Movies/MovieRepository.cs | 56 ++++++++++----------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/NzbDrone.Core/Movies/MovieRepository.cs b/src/NzbDrone.Core/Movies/MovieRepository.cs index c9b6a0acd..fccc815b5 100644 --- a/src/NzbDrone.Core/Movies/MovieRepository.cs +++ b/src/NzbDrone.Core/Movies/MovieRepository.cs @@ -234,40 +234,40 @@ namespace NzbDrone.Core.Movies cleanTitleWithArabicNumbers = cleanTitleWithArabicNumbers.Replace(romanNumber, arabicNumber); } - return Query(q => + Movie result = Query(q => + { + return q.Where(s => s.CleanTitle == cleanTitle).FirstWithYear(year); + }); + + if (result == null) { - Movie result = q.Where(s => s.CleanTitle == cleanTitle).FirstWithYear(year); + result = + Query(q => q.Where(movie => movie.CleanTitle == cleanTitleWithArabicNumbers).FirstWithYear(year)) ?? + Query(q => q.Where(movie => movie.CleanTitle == cleanTitleWithRomanNumbers).FirstWithYear(year)); if (result == null) { - result = - q.Where(movie => movie.CleanTitle == cleanTitleWithArabicNumbers).FirstWithYear(year) ?? - q.Where(movie => movie.CleanTitle == cleanTitleWithRomanNumbers).FirstWithYear(year); - - if (result == null) - { - /*IEnumerable movies = All(); - Func titleCleaner = title => CoreParser.CleanSeriesTitle(title.ToLower()); - Func, string, bool> altTitleComparer = - (alternativeTitles, atitle) => - alternativeTitles.Any(altTitle => altTitle.CleanTitle == atitle);*/ - - /*result = movies.Where(m => altTitleComparer(m.AlternativeTitles, cleanTitle) || - altTitleComparer(m.AlternativeTitles, cleanTitleWithRomanNumbers) || - altTitleComparer(m.AlternativeTitles, cleanTitleWithArabicNumbers)).FirstWithYear(year);*/ - - //result = Query.Join(JoinType.Inner, m => m._newAltTitles, - //(m, t) => m.Id == t.MovieId && (t.CleanTitle == cleanTitle)).FirstWithYear(year); - result = q.Where(t => - t.CleanTitle == cleanTitle || t.CleanTitle == cleanTitleWithArabicNumbers - || t.CleanTitle == cleanTitleWithRomanNumbers) - .FirstWithYear(year); - - } + /*IEnumerable movies = All(); + Func titleCleaner = title => CoreParser.CleanSeriesTitle(title.ToLower()); + Func, string, bool> altTitleComparer = + (alternativeTitles, atitle) => + alternativeTitles.Any(altTitle => altTitle.CleanTitle == atitle);*/ + + /*result = movies.Where(m => altTitleComparer(m.AlternativeTitles, cleanTitle) || + altTitleComparer(m.AlternativeTitles, cleanTitleWithRomanNumbers) || + altTitleComparer(m.AlternativeTitles, cleanTitleWithArabicNumbers)).FirstWithYear(year);*/ + + //result = Query.Join(JoinType.Inner, m => m._newAltTitles, + //(m, t) => m.Id == t.MovieId && (t.CleanTitle == cleanTitle)).FirstWithYear(year); + result = Query(q => q.Where(t => + t.CleanTitle == cleanTitle || t.CleanTitle == cleanTitleWithArabicNumbers + || t.CleanTitle == cleanTitleWithRomanNumbers) + .FirstWithYear(year)); + } + } - return result; - }); + return result; /*return year.HasValue ? results?.FirstOrDefault(movie => movie.Year == year.Value)