mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-30 15:37:55 +02:00
Added PetaPoco
This commit is contained in:
@@ -9,6 +9,7 @@ using NzbDrone.Core.Helpers;
|
||||
using NzbDrone.Core.Providers.Core;
|
||||
using NzbDrone.Core.Repository;
|
||||
using NzbDrone.Core.Repository.Quality;
|
||||
using PetaPoco;
|
||||
using SubSonic.Repository;
|
||||
using TvdbLib.Data;
|
||||
|
||||
@@ -20,13 +21,17 @@ namespace NzbDrone.Core.Providers
|
||||
private readonly IRepository _repository;
|
||||
private readonly ConfigProvider _configProvider;
|
||||
private readonly TvDbProvider _tvDbProvider;
|
||||
private readonly IDatabase _database;
|
||||
private readonly QualityProvider _qualityProvider;
|
||||
|
||||
[Inject]
|
||||
public SeriesProvider(ConfigProvider configProviderProvider, IRepository repository, TvDbProvider tvDbProviderProvider)
|
||||
public SeriesProvider(ConfigProvider configProviderProvider, IRepository repository, TvDbProvider tvDbProviderProvider, IDatabase database, QualityProvider qualityProvider)
|
||||
{
|
||||
_configProvider = configProviderProvider;
|
||||
_repository = repository;
|
||||
_tvDbProvider = tvDbProviderProvider;
|
||||
_database = database;
|
||||
_qualityProvider = qualityProvider;
|
||||
}
|
||||
|
||||
public SeriesProvider()
|
||||
@@ -35,12 +40,14 @@ namespace NzbDrone.Core.Providers
|
||||
|
||||
public virtual IList<Series> GetAllSeries()
|
||||
{
|
||||
return _repository.All<Series>().ToList();
|
||||
var series = _database.Fetch<Series>();
|
||||
series.ForEach(c => c.QualityProfile = _qualityProvider.Find(c.QualityProfileId));
|
||||
return series;
|
||||
}
|
||||
|
||||
public virtual Series GetSeries(int seriesId)
|
||||
{
|
||||
return _repository.Single<Series>(seriesId);
|
||||
return _database.Single<Series>("WHERE seriesId= @0", seriesId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -50,7 +57,7 @@ namespace NzbDrone.Core.Providers
|
||||
/// <returns>Whether or not the show is monitored</returns>
|
||||
public virtual bool IsMonitored(long id)
|
||||
{
|
||||
return _repository.Exists<Series>(c => c.SeriesId == id && c.Monitored);
|
||||
return GetAllSeries().Any(c => c.SeriesId == id && c.Monitored);
|
||||
}
|
||||
|
||||
public virtual TvdbSeries MapPathToSeries(string path)
|
||||
@@ -97,7 +104,7 @@ namespace NzbDrone.Core.Providers
|
||||
|
||||
repoSeries.SeasonFolder = _configProvider.UseSeasonFolder;
|
||||
|
||||
_repository.Add(repoSeries);
|
||||
_database.Insert(repoSeries);
|
||||
}
|
||||
|
||||
public virtual Series FindSeries(string title)
|
||||
@@ -110,12 +117,12 @@ namespace NzbDrone.Core.Providers
|
||||
return GetSeries(seriesId.Value);
|
||||
}
|
||||
|
||||
return _repository.Single<Series>(s => s.CleanTitle == normalizeTitle);
|
||||
return _database.Single<Series>("WHERE CleanTitle = @0", normalizeTitle);
|
||||
}
|
||||
|
||||
public virtual void UpdateSeries(Series series)
|
||||
{
|
||||
_repository.Update(series);
|
||||
_database.Update(series);
|
||||
}
|
||||
|
||||
public virtual void DeleteSeries(int seriesId)
|
||||
@@ -148,7 +155,7 @@ namespace NzbDrone.Core.Providers
|
||||
|
||||
public virtual bool SeriesPathExists(string cleanPath)
|
||||
{
|
||||
if (_repository.Exists<Series>(s => s.Path == cleanPath))
|
||||
if (GetAllSeries().Any(s => s.Path == cleanPath))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
Reference in New Issue
Block a user