Removed IConfigProvider, ISeasonProvider, ISyncProvider

pull/2/head
kay.one 14 years ago
parent 7efbfdbb89
commit fcf51978f9

@ -65,7 +65,7 @@ namespace NzbDrone.Core.Test
public void IsNeededTrue() public void IsNeededTrue()
{ {
//Setup //Setup
var season = new Mock<ISeasonProvider>(); var season = new Mock<SeasonProvider>();
var series = new Mock<SeriesProvider>(); var series = new Mock<SeriesProvider>();
//var history = new Mock<IHistoryProvider>(); //var history = new Mock<IHistoryProvider>();
//var quality = new Mock<IQualityProvider>(); //var quality = new Mock<IQualityProvider>();

@ -31,7 +31,7 @@ namespace NzbDrone.Core.Test
list.Add(new Indexer { IndexerName = "Test4", RssUrl = "http://www.test4.com/rss.php", Enabled = false, Order = 2 }); list.Add(new Indexer { IndexerName = "Test4", RssUrl = "http://www.test4.com/rss.php", Enabled = false, Order = 2 });
var repo = new Mock<IRepository>(); var repo = new Mock<IRepository>();
var config = new Mock<IConfigProvider>(); var config = new Mock<ConfigProvider>();
repo.Setup(r => r.All<Indexer>()).Returns(list.AsQueryable()); repo.Setup(r => r.All<Indexer>()).Returns(list.AsQueryable());
var target = new IndexerProvider(repo.Object, config.Object); var target = new IndexerProvider(repo.Object, config.Object);
@ -59,7 +59,7 @@ namespace NzbDrone.Core.Test
list.Add(new Indexer { IndexerName = "Test4", RssUrl = "http://www.test4.com/rss.php", Enabled = false, Order = 2 }); list.Add(new Indexer { IndexerName = "Test4", RssUrl = "http://www.test4.com/rss.php", Enabled = false, Order = 2 });
var repo = new Mock<IRepository>(); var repo = new Mock<IRepository>();
var config = new Mock<IConfigProvider>(); var config = new Mock<ConfigProvider>();
repo.Setup(r => r.All<Indexer>()).Returns(list.AsQueryable()); repo.Setup(r => r.All<Indexer>()).Returns(list.AsQueryable());
var target = new IndexerProvider(repo.Object, config.Object); var target = new IndexerProvider(repo.Object, config.Object);

@ -42,11 +42,11 @@ namespace NzbDrone.Core.Test
return new SimpleRepository(provider, SimpleRepositoryOptions.RunMigrations); return new SimpleRepository(provider, SimpleRepositoryOptions.RunMigrations);
} }
public static IConfigProvider StandardConfig public static ConfigProvider StandardConfig
{ {
get get
{ {
var mock = new Mock<IConfigProvider>(); var mock = new Mock<ConfigProvider>();
mock.SetupGet(c => c.SeriesRoot).Returns("C:\\"); mock.SetupGet(c => c.SeriesRoot).Returns("C:\\");
return mock.Object; return mock.Object;
} }

@ -70,10 +70,10 @@ namespace NzbDrone.Core.Test
} }
[Test] [Test]
[Row("WEEDS.S03E01-06.DUAL.BDRip.XviD.AC3.-HELLYWOOD", 3, 1, 2, 3, 4, 5, 6)] [Row("WEEDS.S03E01-06.DUAL.BDRip.XviD.AC3.-HELLYWOOD", 3, new[] { 2, 3, 4, 5, 6 })]
[Row("Two.and.a.Half.Me.103.104.720p.HDTV.X264-DIMENSION", 1, 3, 4)] [Row("Two.and.a.Half.Me.103.104.720p.HDTV.X264-DIMENSION", 1, new[] { 3, 4 })]
[Row("The.Kennedys.Part.1.and.Part.2.DSR.XviD-SYS", 1, 1, 2)] [Row("The.Kennedys.Part.1.and.Part.2.DSR.XviD-SYS", 1, new[] { 1, 2 })]
public void episode_multipart_parse(string path, int season, params int[] episodes) public void episode_multipart_parse(string path, int season, int[] episodes)
{ {
var result = Parser.ParseEpisodeInfo(path); var result = Parser.ParseEpisodeInfo(path);
Assert.AreEqual(season, result.SeasonNumber); Assert.AreEqual(season, result.SeasonNumber);

@ -43,7 +43,7 @@ namespace NzbDrone.Core.Test
public class MockFeedProvider : FeedProviderBase public class MockFeedProvider : FeedProviderBase
{ {
public MockFeedProvider(SeriesProvider seriesProvider, ISeasonProvider seasonProvider, EpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider) public MockFeedProvider(SeriesProvider seriesProvider, SeasonProvider seasonProvider, EpisodeProvider episodeProvider, ConfigProvider configProvider, HttpProvider httpProvider)
: base(seriesProvider, seasonProvider, episodeProvider, configProvider, httpProvider) : base(seriesProvider, seasonProvider, episodeProvider, configProvider, httpProvider)
{ {
} }

@ -32,7 +32,7 @@ namespace NzbDrone.Core.Test
var mocker = new AutoMoqer(); var mocker = new AutoMoqer();
var fakeConfig = mocker.GetMock<IConfigProvider>(); var fakeConfig = mocker.GetMock<ConfigProvider>();
fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)) fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false))
.Returns(sabHost); .Returns(sabHost);
fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)) fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false))
@ -73,7 +73,7 @@ namespace NzbDrone.Core.Test
var mocker = new AutoMoqer(); var mocker = new AutoMoqer();
var fakeConfig = mocker.GetMock<IConfigProvider>(); var fakeConfig = mocker.GetMock<ConfigProvider>();
fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost); fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort); fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey); fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
@ -105,7 +105,7 @@ namespace NzbDrone.Core.Test
var mocker = new AutoMoqer(); var mocker = new AutoMoqer();
var fakeConfig = mocker.GetMock<IConfigProvider>(); var fakeConfig = mocker.GetMock<ConfigProvider>();
fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost); fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort); fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey); fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
@ -135,7 +135,7 @@ namespace NzbDrone.Core.Test
var mocker = new AutoMoqer(); var mocker = new AutoMoqer();
var fakeConfig = mocker.GetMock<IConfigProvider>(); var fakeConfig = mocker.GetMock<ConfigProvider>();
fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost); fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort); fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey); fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);
@ -165,7 +165,7 @@ namespace NzbDrone.Core.Test
var mocker = new AutoMoqer(); var mocker = new AutoMoqer();
var fakeConfig = mocker.GetMock<IConfigProvider>(); var fakeConfig = mocker.GetMock<ConfigProvider>();
fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost); fakeConfig.Setup(c => c.GetValue("SabHost", String.Empty, false)).Returns(sabHost);
fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort); fakeConfig.Setup(c => c.GetValue("SabPort", String.Empty, false)).Returns(sabPort);
fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey); fakeConfig.Setup(c => c.GetValue("SabApiKey", String.Empty, false)).Returns(apikey);

@ -61,7 +61,7 @@ namespace NzbDrone.Core
_kernel.Bind<TvDbProvider>().ToSelf().InSingletonScope(); _kernel.Bind<TvDbProvider>().ToSelf().InSingletonScope();
_kernel.Bind<HttpProvider>().ToSelf().InSingletonScope(); _kernel.Bind<HttpProvider>().ToSelf().InSingletonScope();
_kernel.Bind<SeriesProvider>().ToSelf().InSingletonScope(); _kernel.Bind<SeriesProvider>().ToSelf().InSingletonScope();
_kernel.Bind<ISeasonProvider>().To<SeasonProvider>().InSingletonScope(); _kernel.Bind<SeasonProvider>().ToSelf().InSingletonScope();
_kernel.Bind<RssSyncProvider>().ToSelf().InSingletonScope(); _kernel.Bind<RssSyncProvider>().ToSelf().InSingletonScope();
_kernel.Bind<EpisodeProvider>().ToSelf().InSingletonScope(); _kernel.Bind<EpisodeProvider>().ToSelf().InSingletonScope();
_kernel.Bind<UpcomingEpisodesProvider>().ToSelf().InSingletonScope(); _kernel.Bind<UpcomingEpisodesProvider>().ToSelf().InSingletonScope();
@ -72,13 +72,13 @@ namespace NzbDrone.Core
_kernel.Bind<ExternalNotificationProvider>().ToSelf().InSingletonScope(); _kernel.Bind<ExternalNotificationProvider>().ToSelf().InSingletonScope();
_kernel.Bind<XbmcProvider>().ToSelf().InSingletonScope(); _kernel.Bind<XbmcProvider>().ToSelf().InSingletonScope();
_kernel.Bind<PostProcessingProvider>().ToSelf().InSingletonScope(); _kernel.Bind<PostProcessingProvider>().ToSelf().InSingletonScope();
_kernel.Bind<IConfigProvider>().To<ConfigProvider>().InSingletonScope(); _kernel.Bind<ConfigProvider>().To<ConfigProvider>().InSingletonScope();
_kernel.Bind<ISyncProvider>().To<SyncProvider>().InSingletonScope(); _kernel.Bind<SyncProvider>().ToSelf().InSingletonScope();
_kernel.Bind<IndexerProvider>().ToSelf().InSingletonScope(); _kernel.Bind<IndexerProvider>().ToSelf().InSingletonScope();
_kernel.Bind<RenameProvider>().ToSelf().InSingletonScope(); _kernel.Bind<RenameProvider>().ToSelf().InSingletonScope();
_kernel.Bind<NotificationProvider>().ToSelf().InSingletonScope(); _kernel.Bind<NotificationProvider>().ToSelf().InSingletonScope();
_kernel.Bind<LogProvider>().ToSelf().InSingletonScope(); _kernel.Bind<LogProvider>().ToSelf().InSingletonScope();
_kernel.Bind<IMediaFileProvider>().To<MediaFileProvider>().InSingletonScope(); _kernel.Bind<MediaFileProvider>().ToSelf().InSingletonScope();
_kernel.Bind<TimerProvider>().ToSelf().InSingletonScope(); _kernel.Bind<TimerProvider>().ToSelf().InSingletonScope();
_kernel.Bind<IRepository>().ToMethod(c => new SimpleRepository(dbProvider, SimpleRepositoryOptions.RunMigrations)).InSingletonScope(); _kernel.Bind<IRepository>().ToMethod(c => new SimpleRepository(dbProvider, SimpleRepositoryOptions.RunMigrations)).InSingletonScope();
@ -90,7 +90,7 @@ namespace NzbDrone.Core
SetupDefaultQualityProfiles(_kernel.Get<IRepository>()); //Setup the default QualityProfiles on start-up SetupDefaultQualityProfiles(_kernel.Get<IRepository>()); //Setup the default QualityProfiles on start-up
//Get the Timers going //Get the Timers going
var config = _kernel.Get<IConfigProvider>(); var config = _kernel.Get<ConfigProvider>();
var timer = _kernel.Get<TimerProvider>(); var timer = _kernel.Get<TimerProvider>();
timer.SetRssSyncTimer(Convert.ToInt32(config.GetValue("SyncFrequency", "15", true))); timer.SetRssSyncTimer(Convert.ToInt32(config.GetValue("SyncFrequency", "15", true)));
timer.StartRssSyncTimer(); timer.StartRssSyncTimer();

@ -198,8 +198,6 @@
<Compile Include="Instrumentation\LogConfiguration.cs" /> <Compile Include="Instrumentation\LogConfiguration.cs" />
<Compile Include="Parser.cs" /> <Compile Include="Parser.cs" />
<Compile Include="Providers\Fakes\FakeNotificationProvider.cs" /> <Compile Include="Providers\Fakes\FakeNotificationProvider.cs" />
<Compile Include="Providers\IMediaFileProvider.cs" />
<Compile Include="Providers\ISyncProvider.cs" />
<Compile Include="Providers\MediaFileProvider.cs" /> <Compile Include="Providers\MediaFileProvider.cs" />
<Compile Include="Providers\SyncProvider.cs" /> <Compile Include="Providers\SyncProvider.cs" />
<Compile Include="Model\Notification\ProgressNotification.cs" /> <Compile Include="Model\Notification\ProgressNotification.cs" />
@ -207,7 +205,6 @@
<Compile Include="Providers\Core\ConfigProvider.cs" /> <Compile Include="Providers\Core\ConfigProvider.cs" />
<Compile Include="Providers\EpisodeProvider.cs" /> <Compile Include="Providers\EpisodeProvider.cs" />
<Compile Include="Providers\Core\HttpProvider.cs" /> <Compile Include="Providers\Core\HttpProvider.cs" />
<Compile Include="Providers\ISeasonProvider.cs" />
<Compile Include="Providers\SabProvider.cs" /> <Compile Include="Providers\SabProvider.cs" />
<Compile Include="Providers\SeasonProvider.cs" /> <Compile Include="Providers\SeasonProvider.cs" />
<Compile Include="Repository\Episode.cs" /> <Compile Include="Repository\Episode.cs" />
@ -223,7 +220,6 @@
<Compile Include="CentralDispatch.cs" /> <Compile Include="CentralDispatch.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Providers\Core\DiskProvider.cs" /> <Compile Include="Providers\Core\DiskProvider.cs" />
<Compile Include="Providers\Core\IConfigProvider.cs" />
<Compile Include="Providers\SeriesProvider.cs" /> <Compile Include="Providers\SeriesProvider.cs" />
<Compile Include="Providers\TvDbProvider.cs" /> <Compile Include="Providers\TvDbProvider.cs" />
</ItemGroup> </ItemGroup>

@ -5,7 +5,7 @@ using SubSonic.Repository;
namespace NzbDrone.Core.Providers.Core namespace NzbDrone.Core.Providers.Core
{ {
public class ConfigProvider : IConfigProvider public class ConfigProvider
{ {
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly IRepository _sonicRepo; private readonly IRepository _sonicRepo;
@ -15,7 +15,11 @@ namespace NzbDrone.Core.Providers.Core
_sonicRepo = dataRepository; _sonicRepo = dataRepository;
} }
public String ApiKey public ConfigProvider()
{
}
public virtual String ApiKey
{ {
get { return GetValue("ApiKey"); } get { return GetValue("ApiKey"); }
@ -23,154 +27,154 @@ namespace NzbDrone.Core.Providers.Core
} }
public String EpisodeNameFormat public virtual String EpisodeNameFormat
{ {
get { return GetValue("EpisodeNameFormat"); } get { return GetValue("EpisodeNameFormat"); }
set { SetValue("EpisodeNameFormat", value); } set { SetValue("EpisodeNameFormat", value); }
} }
public String SeriesRoot public virtual String SeriesRoot
{ {
get { return GetValue("SeriesRoots"); } get { return GetValue("SeriesRoots"); }
set { SetValue("SeriesRoots", value); } set { SetValue("SeriesRoots", value); }
} }
public String NzbMatrixUsername public virtual String NzbMatrixUsername
{ {
get { return GetValue("NzbMatrixUsername"); } get { return GetValue("NzbMatrixUsername"); }
set { SetValue("NzbMatrixUsername", value); } set { SetValue("NzbMatrixUsername", value); }
} }
public String NzbMatrixApiKey public virtual String NzbMatrixApiKey
{ {
get { return GetValue("NzbMatrixApiKey"); } get { return GetValue("NzbMatrixApiKey"); }
set { SetValue("NzbMatrixApiKey", value); } set { SetValue("NzbMatrixApiKey", value); }
} }
public String NzbsOrgUId public virtual String NzbsOrgUId
{ {
get { return GetValue("NzbsOrgUId"); } get { return GetValue("NzbsOrgUId"); }
set { SetValue("NzbsOrgUId", value); } set { SetValue("NzbsOrgUId", value); }
} }
public String NzbsOrgHash public virtual String NzbsOrgHash
{ {
get { return GetValue("NzbsOrgHash"); } get { return GetValue("NzbsOrgHash"); }
set { SetValue("NzbsOrgHash", value); } set { SetValue("NzbsOrgHash", value); }
} }
public String NzbsrusUId public virtual String NzbsrusUId
{ {
get { return GetValue("NzbsrusUId"); } get { return GetValue("NzbsrusUId"); }
set { SetValue("NzbsrusUId", value); } set { SetValue("NzbsrusUId", value); }
} }
public String NzbsrusHash public virtual String NzbsrusHash
{ {
get { return GetValue("NzbsrusHash"); } get { return GetValue("NzbsrusHash"); }
set { SetValue("NzbsrusHash", value); } set { SetValue("NzbsrusHash", value); }
} }
public String SyncFrequency public virtual String SyncFrequency
{ {
get { return GetValue("SyncFrequency"); } get { return GetValue("SyncFrequency"); }
set { SetValue("SyncFrequency", value); } set { SetValue("SyncFrequency", value); }
} }
public String DownloadPropers public virtual String DownloadPropers
{ {
get { return GetValue("DownloadPropers"); } get { return GetValue("DownloadPropers"); }
set { SetValue("DownloadPropers", value); } set { SetValue("DownloadPropers", value); }
} }
public String Retention public virtual String Retention
{ {
get { return GetValue("Retention"); } get { return GetValue("Retention"); }
set { SetValue("Retention", value); } set { SetValue("Retention", value); }
} }
public String SabHost public virtual String SabHost
{ {
get { return GetValue("SabHost"); } get { return GetValue("SabHost"); }
set { SetValue("SabHost", value); } set { SetValue("SabHost", value); }
} }
public String SabPort public virtual String SabPort
{ {
get { return GetValue("SabPort"); } get { return GetValue("SabPort"); }
set { SetValue("SabPort", value); } set { SetValue("SabPort", value); }
} }
public String SabApiKey public virtual String SabApiKey
{ {
get { return GetValue("SabApiKey"); } get { return GetValue("SabApiKey"); }
set { SetValue("SabApiKey", value); } set { SetValue("SabApiKey", value); }
} }
public String SabUsername public virtual String SabUsername
{ {
get { return GetValue("SabUsername"); } get { return GetValue("SabUsername"); }
set { SetValue("SabUsername", value); } set { SetValue("SabUsername", value); }
} }
public String SabPassword public virtual String SabPassword
{ {
get { return GetValue("SabPassword"); } get { return GetValue("SabPassword"); }
set { SetValue("SabPassword", value); } set { SetValue("SabPassword", value); }
} }
public String SabTvCategory public virtual String SabTvCategory
{ {
get { return GetValue("SabTvCategory"); } get { return GetValue("SabTvCategory"); }
set { SetValue("SabTvCategory", value); } set { SetValue("SabTvCategory", value); }
} }
public String SabTvPriority public virtual String SabTvPriority
{ {
get { return GetValue("SabTvPriority"); } get { return GetValue("SabTvPriority"); }
set { SetValue("SabTvPriority", value); } set { SetValue("SabTvPriority", value); }
} }
public String UseBlackhole public virtual String UseBlackhole
{ {
get { return GetValue("UseBlackhole"); } get { return GetValue("UseBlackhole"); }
set { SetValue("UseBlackhole", value); } set { SetValue("UseBlackhole", value); }
} }
public String BlackholeDirectory public virtual String BlackholeDirectory
{ {
get { return GetValue("BlackholeDirectory"); } get { return GetValue("BlackholeDirectory"); }
set { SetValue("BlackholeDirectory", value); } set { SetValue("BlackholeDirectory", value); }
} }
public bool UseSeasonFolder public virtual bool UseSeasonFolder
{ {
get { return GetValueBoolean("Sorting_SeasonFolder", true); } get { return GetValueBoolean("Sorting_SeasonFolder", true); }
set { SetValue("Sorting_SeasonFolder", value); } set { SetValue("Sorting_SeasonFolder", value); }
} }
public int DefaultQualityProfile public virtual int DefaultQualityProfile
{ {
get { return GetValueInt("DefaultQualityProfile", 1); } get { return GetValueInt("DefaultQualityProfile", 1); }
@ -193,7 +197,7 @@ namespace NzbDrone.Core.Providers.Core
return Convert.ToInt16(GetValue(key, defaultValue, false)); return Convert.ToInt16(GetValue(key, defaultValue, false));
} }
public string GetValue(string key, object defaultValue, bool makePermanent) public virtual string GetValue(string key, object defaultValue, bool makePermanent)
{ {
string value; string value;
@ -210,17 +214,17 @@ namespace NzbDrone.Core.Providers.Core
return value; return value;
} }
public void SetValue(string key, Boolean value) public virtual void SetValue(string key, Boolean value)
{ {
SetValue(key, value.ToString()); SetValue(key, value.ToString());
} }
public void SetValue(string key, int value) public virtual void SetValue(string key, int value)
{ {
SetValue(key, value.ToString()); SetValue(key, value.ToString());
} }
public void SetValue(string key, string value) public virtual void SetValue(string key, string value)
{ {
if (String.IsNullOrEmpty(key)) if (String.IsNullOrEmpty(key))
throw new ArgumentOutOfRangeException("key"); throw new ArgumentOutOfRangeException("key");

@ -1,34 +0,0 @@
using System;
namespace NzbDrone.Core.Providers.Core
{
public interface IConfigProvider
{
String SeriesRoot { get; set; }
String EpisodeNameFormat { get; set; }
String NzbMatrixUsername { get; set; }
String NzbMatrixApiKey { get; set; }
String NzbsOrgUId { get; set; }
String NzbsOrgHash { get; set; }
String NzbsrusUId { get; set; }
String NzbsrusHash { get; set; }
String DownloadPropers { get; set; }
String Retention { get; set; }
String SabHost { get; set; }
String SabPort { get; set; }
String SabApiKey { get; set; }
String SabUsername { get; set; }
String SabPassword { get; set; }
String SabTvCategory { get; set; }
String UseBlackhole { get; set; }
String BlackholeDirectory { get; set; }
String SyncFrequency { get; set; }
String SabTvPriority { get; set; }
String ApiKey { get; set; }
bool UseSeasonFolder { get; set; }
int DefaultQualityProfile { get; set; }
string GetValue(string key, object defaultValue, bool makePermanent);
void SetValue(string key, string value);
}
}

@ -15,14 +15,14 @@ namespace NzbDrone.Core.Providers
private readonly IRepository _sonicRepo; private readonly IRepository _sonicRepo;
private readonly SeriesProvider _series; private readonly SeriesProvider _series;
private readonly ISeasonProvider _seasons; private readonly SeasonProvider _seasons;
private readonly TvDbProvider _tvDb; private readonly TvDbProvider _tvDb;
private readonly HistoryProvider _history; private readonly HistoryProvider _history;
private readonly QualityProvider _quality; private readonly QualityProvider _quality;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public EpisodeProvider(IRepository sonicRepo, SeriesProvider seriesProvider, public EpisodeProvider(IRepository sonicRepo, SeriesProvider seriesProvider,
ISeasonProvider seasonProvider, TvDbProvider tvDbProvider, SeasonProvider seasonProvider, TvDbProvider tvDbProvider,
HistoryProvider history, QualityProvider quality) HistoryProvider history, QualityProvider quality)
{ {
_sonicRepo = sonicRepo; _sonicRepo = sonicRepo;

@ -12,12 +12,12 @@ namespace NzbDrone.Core.Providers
{ {
public class ExternalNotificationProvider public class ExternalNotificationProvider
{ {
private readonly IConfigProvider _configProvider; private readonly ConfigProvider _configProvider;
private readonly XbmcProvider _xbmcProvider; private readonly XbmcProvider _xbmcProvider;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public ExternalNotificationProvider(IConfigProvider configProvider, XbmcProvider xbmcProvider) public ExternalNotificationProvider(ConfigProvider configProvider, XbmcProvider xbmcProvider)
{ {
_configProvider = configProvider; _configProvider = configProvider;
_xbmcProvider = xbmcProvider; _xbmcProvider = xbmcProvider;

@ -9,14 +9,14 @@ namespace NzbDrone.Core.Providers.Feed
public abstract class FeedProviderBase public abstract class FeedProviderBase
{ {
protected readonly SeriesProvider _seriesProvider; protected readonly SeriesProvider _seriesProvider;
protected readonly ISeasonProvider _seasonProvider; protected readonly SeasonProvider _seasonProvider;
protected readonly EpisodeProvider _episodeProvider; protected readonly EpisodeProvider _episodeProvider;
protected readonly IConfigProvider _configProvider; protected readonly ConfigProvider _configProvider;
private readonly HttpProvider _httpProvider; private readonly HttpProvider _httpProvider;
protected static readonly Logger Logger = LogManager.GetCurrentClassLogger(); protected static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public FeedProviderBase(SeriesProvider seriesProvider, ISeasonProvider seasonProvider, public FeedProviderBase(SeriesProvider seriesProvider, SeasonProvider seasonProvider,
EpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider) EpisodeProvider episodeProvider, ConfigProvider configProvider, HttpProvider httpProvider)
{ {
_seriesProvider = seriesProvider; _seriesProvider = seriesProvider;
_seasonProvider = seasonProvider; _seasonProvider = seasonProvider;

@ -9,7 +9,7 @@ namespace NzbDrone.Core.Providers.Feed
{ {
class NzbsOrgFeedProvider : FeedProviderBase class NzbsOrgFeedProvider : FeedProviderBase
{ {
public NzbsOrgFeedProvider(SeriesProvider seriesProvider, ISeasonProvider seasonProvider, EpisodeProvider episodeProvider, IConfigProvider configProvider, HttpProvider httpProvider) public NzbsOrgFeedProvider(SeriesProvider seriesProvider, SeasonProvider seasonProvider, EpisodeProvider episodeProvider, ConfigProvider configProvider, HttpProvider httpProvider)
: base(seriesProvider, seasonProvider, episodeProvider, configProvider, httpProvider) : base(seriesProvider, seasonProvider, episodeProvider, configProvider, httpProvider)
{ {
} }

@ -1,23 +0,0 @@
using System.Collections.Generic;
using NzbDrone.Core.Model;
using NzbDrone.Core.Repository;
namespace NzbDrone.Core.Providers
{
public interface IMediaFileProvider
{
/// <summary>
/// Scans the specified series folder for media files
/// </summary>
/// <param name="series">The series to be scanned</param>
List<EpisodeFile> Scan(Series series);
List<EpisodeFile> Scan(Series series, string path);
EpisodeFile ImportFile(Series series, string filePath);
void CleanUp(List<EpisodeFile> files);
void DeleteFromDb(int fileId);
void DeleteFromDisk(int fileId, string path);
void Update(EpisodeFile episodeFile);
EpisodeFile GetEpisodeFile(int episodeFileId);
List<EpisodeFile> GetEpisodeFiles();
}
}

@ -1,19 +0,0 @@
using System.Collections.Generic;
using NzbDrone.Core.Model;
using NzbDrone.Core.Repository;
namespace NzbDrone.Core.Providers
{
public interface ISeasonProvider
{
Season GetSeason(int seasonId);
Season GetSeason(int seriesId, int seasonNumber);
List<Season> GetSeasons(int seriesId);
Season GetLatestSeason(int seriesId);
void EnsureSeason(int seriesId, int seasonId, int seasonNumber);
int SaveSeason(Season season);
bool IsIgnored(int seasonId);
bool IsIgnored(int seriesId, int seasonNumber);
void DeleteSeason(int seasonId);
}
}

@ -1,13 +0,0 @@
using System;
using System.Collections.Generic;
using NzbDrone.Core.Model;
namespace NzbDrone.Core.Providers
{
public interface ISyncProvider
{
List<String> GetUnmappedFolders(string path);
bool BeginUpdateNewSeries();
}
}

@ -15,9 +15,9 @@ namespace NzbDrone.Core.Providers
{ {
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly IRepository _sonicRepo; private readonly IRepository _sonicRepo;
private readonly IConfigProvider _configProvider; private readonly ConfigProvider _configProvider;
public IndexerProvider(IRepository sonicRepo, IConfigProvider configProvider) public IndexerProvider(IRepository sonicRepo, ConfigProvider configProvider)
{ {
_sonicRepo = sonicRepo; _sonicRepo = sonicRepo;
_configProvider = configProvider; _configProvider = configProvider;

@ -12,17 +12,17 @@ using SubSonic.Repository;
namespace NzbDrone.Core.Providers namespace NzbDrone.Core.Providers
{ {
public class MediaFileProvider : IMediaFileProvider public class MediaFileProvider
{ {
private readonly IRepository _repository; private readonly IRepository _repository;
private readonly IConfigProvider _configProvider; private readonly ConfigProvider _configProvider;
private readonly DiskProvider _diskProvider; private readonly DiskProvider _diskProvider;
private readonly EpisodeProvider _episodeProvider; private readonly EpisodeProvider _episodeProvider;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private static readonly string[] MediaExtentions = new[] { "*.mkv", "*.avi", "*.wmv" }; private static readonly string[] MediaExtentions = new[] { "*.mkv", "*.avi", "*.wmv" };
public MediaFileProvider(IRepository repository, IConfigProvider configProvider, DiskProvider diskProvider, EpisodeProvider episodeProvider) public MediaFileProvider(IRepository repository, ConfigProvider configProvider, DiskProvider diskProvider, EpisodeProvider episodeProvider)
{ {
_repository = repository; _repository = repository;
_configProvider = configProvider; _configProvider = configProvider;

@ -12,11 +12,11 @@ namespace NzbDrone.Core.Providers
public class PostProcessingProvider public class PostProcessingProvider
{ {
private readonly SeriesProvider _seriesProvider; private readonly SeriesProvider _seriesProvider;
private readonly IMediaFileProvider _mediaFileProvider; private readonly MediaFileProvider _mediaFileProvider;
private readonly RenameProvider _renameProvider; private readonly RenameProvider _renameProvider;
public PostProcessingProvider(SeriesProvider seriesProvider, public PostProcessingProvider(SeriesProvider seriesProvider,
IMediaFileProvider mediaFileProvider, RenameProvider renameProvider) MediaFileProvider mediaFileProvider, RenameProvider renameProvider)
{ {
_seriesProvider = seriesProvider; _seriesProvider = seriesProvider;
_mediaFileProvider = mediaFileProvider; _mediaFileProvider = mediaFileProvider;

@ -15,11 +15,11 @@ namespace NzbDrone.Core.Providers
public class RenameProvider public class RenameProvider
{ {
private readonly SeriesProvider _seriesProvider; private readonly SeriesProvider _seriesProvider;
private readonly ISeasonProvider _seasonProvider; private readonly SeasonProvider _seasonProvider;
private readonly EpisodeProvider _episodeProvider; private readonly EpisodeProvider _episodeProvider;
private readonly IMediaFileProvider _mediaFileProvider; private readonly MediaFileProvider _mediaFileProvider;
private readonly DiskProvider _diskProvider; private readonly DiskProvider _diskProvider;
private readonly IConfigProvider _configProvider; private readonly ConfigProvider _configProvider;
private readonly ExternalNotificationProvider _externalNotificationProvider; private readonly ExternalNotificationProvider _externalNotificationProvider;
private Thread _renameThread; private Thread _renameThread;
@ -27,9 +27,9 @@ namespace NzbDrone.Core.Providers
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public RenameProvider(SeriesProvider seriesProvider, ISeasonProvider seasonProvider, public RenameProvider(SeriesProvider seriesProvider, SeasonProvider seasonProvider,
EpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider, EpisodeProvider episodeProvider, MediaFileProvider mediaFileProvider,
DiskProvider diskProvider, IConfigProvider configProvider, DiskProvider diskProvider, ConfigProvider configProvider,
ExternalNotificationProvider extenalNotificationProvider) ExternalNotificationProvider extenalNotificationProvider)
{ {
_seriesProvider = seriesProvider; _seriesProvider = seriesProvider;

@ -9,12 +9,12 @@ namespace NzbDrone.Core.Providers
{ {
public class SabProvider public class SabProvider
{ {
private readonly IConfigProvider _config; private readonly ConfigProvider _config;
private readonly HttpProvider _http; private readonly HttpProvider _http;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public SabProvider(IConfigProvider config, HttpProvider http) public SabProvider(ConfigProvider config, HttpProvider http)
{ {
_config = config; _config = config;
_http = http; _http = http;

@ -8,7 +8,7 @@ using System.Linq;
namespace NzbDrone.Core.Providers namespace NzbDrone.Core.Providers
{ {
public class SeasonProvider : ISeasonProvider public class SeasonProvider
{ {
private readonly IRepository _sonicRepo; private readonly IRepository _sonicRepo;
private readonly SeriesProvider _seriesProvider; private readonly SeriesProvider _seriesProvider;
@ -21,27 +21,32 @@ namespace NzbDrone.Core.Providers
_seriesProvider = seriesProvider; _seriesProvider = seriesProvider;
} }
public Season GetSeason(int seasonId) public SeasonProvider()
{
}
public virtual Season GetSeason(int seasonId)
{ {
return _sonicRepo.Single<Season>(seasonId); return _sonicRepo.Single<Season>(seasonId);
} }
public Season GetSeason(int seriesId, int seasonNumber) public virtual Season GetSeason(int seriesId, int seasonNumber)
{ {
return _sonicRepo.Single<Season>(s => s.SeriesId == seriesId && s.SeasonNumber == seasonNumber); return _sonicRepo.Single<Season>(s => s.SeriesId == seriesId && s.SeasonNumber == seasonNumber);
} }
public List<Season> GetSeasons(int seriesId) public virtual List<Season> GetSeasons(int seriesId)
{ {
return _sonicRepo.All<Season>().Where(s => s.SeriesId == seriesId).ToList(); return _sonicRepo.All<Season>().Where(s => s.SeriesId == seriesId).ToList();
} }
public Season GetLatestSeason(int seriesId) public virtual Season GetLatestSeason(int seriesId)
{ {
return _sonicRepo.All<Season>().Where(s => s.SeriesId == seriesId).OrderBy(s => s.SeasonNumber).Last(); return _sonicRepo.All<Season>().Where(s => s.SeriesId == seriesId).OrderBy(s => s.SeasonNumber).Last();
} }
public void EnsureSeason(int seriesId, int seasonId, int seasonNumber) public virtual void EnsureSeason(int seriesId, int seasonId, int seasonNumber)
{ {
if (_sonicRepo.Exists<Season>(s => s.SeasonId == seasonId)) if (_sonicRepo.Exists<Season>(s => s.SeasonId == seasonId))
return; return;
@ -58,12 +63,12 @@ namespace NzbDrone.Core.Providers
_sonicRepo.Add<Season>(newSeason); _sonicRepo.Add<Season>(newSeason);
} }
public int SaveSeason(Season season) public virtual int SaveSeason(Season season)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
public bool IsIgnored(int seasonId) public virtual bool IsIgnored(int seasonId)
{ {
if (_sonicRepo.Single<Season>(seasonId).Monitored) if (_sonicRepo.Single<Season>(seasonId).Monitored)
return false; return false;
@ -72,7 +77,7 @@ namespace NzbDrone.Core.Providers
return true; return true;
} }
public bool IsIgnored(int seriesId, int seasonNumber) public virtual bool IsIgnored(int seriesId, int seasonNumber)
{ {
var season = _sonicRepo.Single<Season>(s => s.SeriesId == seriesId && s.SeasonNumber == seasonNumber); var season = _sonicRepo.Single<Season>(s => s.SeriesId == seriesId && s.SeasonNumber == seasonNumber);

@ -19,13 +19,13 @@ namespace NzbDrone.Core.Providers
//Trims all white spaces and separators from the end of the title. //Trims all white spaces and separators from the end of the title.
private readonly IConfigProvider _config; private readonly ConfigProvider _config;
private readonly IRepository _sonioRepo; private readonly IRepository _sonioRepo;
private readonly TvDbProvider _tvDb; private readonly TvDbProvider _tvDb;
private readonly QualityProvider _quality; private readonly QualityProvider _quality;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public SeriesProvider(IConfigProvider configProvider, public SeriesProvider(ConfigProvider configProvider,
IRepository dataRepository, TvDbProvider tvDbProvider, QualityProvider quality) IRepository dataRepository, TvDbProvider tvDbProvider, QualityProvider quality)
{ {
_config = configProvider; _config = configProvider;

@ -11,11 +11,11 @@ using NzbDrone.Core.Providers.Core;
namespace NzbDrone.Core.Providers namespace NzbDrone.Core.Providers
{ {
public class SyncProvider : ISyncProvider public class SyncProvider
{ {
private readonly SeriesProvider _seriesProvider; private readonly SeriesProvider _seriesProvider;
private readonly EpisodeProvider _episodeProvider; private readonly EpisodeProvider _episodeProvider;
private readonly IMediaFileProvider _mediaFileProvider; private readonly MediaFileProvider _mediaFileProvider;
private readonly NotificationProvider _notificationProvider; private readonly NotificationProvider _notificationProvider;
private readonly DiskProvider _diskProvider; private readonly DiskProvider _diskProvider;
@ -25,7 +25,7 @@ namespace NzbDrone.Core.Providers
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public SyncProvider(SeriesProvider seriesProvider, EpisodeProvider episodeProvider, public SyncProvider(SeriesProvider seriesProvider, EpisodeProvider episodeProvider,
IMediaFileProvider mediaFileProvider, NotificationProvider notificationProvider, MediaFileProvider mediaFileProvider, NotificationProvider notificationProvider,
DiskProvider diskProvider) DiskProvider diskProvider)
{ {
_seriesProvider = seriesProvider; _seriesProvider = seriesProvider;

@ -12,16 +12,16 @@ namespace NzbDrone.Core.Providers
{ {
private readonly RssSyncProvider _rssSyncProvider; private readonly RssSyncProvider _rssSyncProvider;
private readonly SeriesProvider _seriesProvider; private readonly SeriesProvider _seriesProvider;
private readonly ISeasonProvider _seasonProvider; private readonly SeasonProvider _seasonProvider;
private readonly EpisodeProvider _episodeProvider; private readonly EpisodeProvider _episodeProvider;
private readonly IMediaFileProvider _mediaFileProvider; private readonly MediaFileProvider _mediaFileProvider;
private Timer _rssSyncTimer; private Timer _rssSyncTimer;
private Timer _minuteTimer; private Timer _minuteTimer;
private DateTime _rssSyncNextInterval; private DateTime _rssSyncNextInterval;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public TimerProvider(RssSyncProvider rssSyncProvider, SeriesProvider seriesProvider, ISeasonProvider seasonProvider, EpisodeProvider episodeProvider, IMediaFileProvider mediaFileProvider) public TimerProvider(RssSyncProvider rssSyncProvider, SeriesProvider seriesProvider, SeasonProvider seasonProvider, EpisodeProvider episodeProvider, MediaFileProvider mediaFileProvider)
{ {
_rssSyncProvider = rssSyncProvider; _rssSyncProvider = rssSyncProvider;
_seriesProvider = seriesProvider; _seriesProvider = seriesProvider;

@ -12,12 +12,12 @@ namespace NzbDrone.Core.Providers
{ {
public class XbmcProvider public class XbmcProvider
{ {
private readonly IConfigProvider _configProvider; private readonly ConfigProvider _configProvider;
private readonly HttpProvider _httpProvider; private readonly HttpProvider _httpProvider;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public XbmcProvider(IConfigProvider configProvider, HttpProvider httpProvider) public XbmcProvider(ConfigProvider configProvider, HttpProvider httpProvider)
{ {
_configProvider = configProvider; _configProvider = configProvider;
_httpProvider = httpProvider; _httpProvider = httpProvider;

@ -0,0 +1,134 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using NzbDrone.Core.Providers;
using NzbDrone.Core.Providers.Core;
using NzbDrone.Web.Models;
namespace NzbDrone.Web.Controllers
{
public class AddSeriesController : Controller
{
public IConfigProvider ConfigProvider { get; set; }
private readonly SyncProvider _syncProvider;
private readonly RootDirProvider _rootFolderProvider;
private readonly IConfigProvider _configProvider;
private readonly QualityProvider _qualityProvider;
private readonly TvDbProvider _tvDbProvider;
private readonly SeriesProvider _seriesProvider;
public AddSeriesController(SyncProvider syncProvider, RootDirProvider rootFolderProvider, IConfigProvider configProvider,
QualityProvider qualityProvider, TvDbProvider tvDbProvider, SeriesProvider seriesProvider)
{
ConfigProvider = configProvider;
_syncProvider = syncProvider;
_rootFolderProvider = rootFolderProvider;
_configProvider = configProvider;
_qualityProvider = qualityProvider;
_tvDbProvider = tvDbProvider;
_seriesProvider = seriesProvider;
}
[HttpPost]
public JsonResult ScanNewSeries()
{
_syncProvider.BeginUpdateNewSeries();
return new JsonResult();
}
public ActionResult AddNew()
{
ViewData["RootDirs"] = _rootFolderProvider.GetAll();
ViewData["DirSep"] = Path.DirectorySeparatorChar;
var profiles = _qualityProvider.GetAllProfiles();
var selectList = new SelectList(profiles, "QualityProfileId", "Name");
var defaultQuality = Convert.ToInt32(_configProvider.DefaultQualityProfile);
var model = new AddNewSeriesModel
{
DirectorySeparatorChar = Path.DirectorySeparatorChar.ToString(),
RootDirectories = _rootFolderProvider.GetAll(),
QualityProfileId = defaultQuality,
QualitySelectList = selectList
};
return View(model);
}
public ActionResult AddExisting()
{
var unmappedList = new List<String>();
var profiles = _qualityProvider.GetAllProfiles();
var defaultQuality = Convert.ToInt32(_configProvider.DefaultQualityProfile);
var selectList = new SelectList(profiles, "QualityProfileId", "Name", defaultQuality);
ViewData["qualities"] = selectList;
foreach (var folder in _rootFolderProvider.GetAll())
{
unmappedList.AddRange(_syncProvider.GetUnmappedFolders(folder.Path));
}
return View(unmappedList);
}
public ActionResult RenderPartial(string path)
{
var suggestions = GetSuggestionList(new DirectoryInfo(path).Name);
ViewData["guid"] = Guid.NewGuid();
ViewData["path"] = path;
ViewData["javaPath"] = path.Replace(Path.DirectorySeparatorChar, '|').Replace(Path.VolumeSeparatorChar, '^');
var defaultQuality = _configProvider.DefaultQualityProfile;
var qualityProfiles = _qualityProvider.GetAllProfiles();
ViewData["quality"] = new SelectList(
qualityProfiles,
"QualityProfileId",
"Name",
defaultQuality); ;
return PartialView("AddSeriesItem", suggestions);
}
public JsonResult AddSeries(string path, int seriesId, int qualityProfileId)
{
//Get TVDB Series Name
//Create new folder for series
//Add the new series to the Database
_seriesProvider.AddSeries(path.Replace('|', Path.DirectorySeparatorChar).Replace('^', Path.VolumeSeparatorChar), seriesId, qualityProfileId);
ScanNewSeries();
return new JsonResult() { Data = "ok" };
}
[HttpPost]
public ActionResult _textLookUp(string text, int? filterMode)
{
var suggestions = GetSuggestionList(text);
return new JsonResult
{
JsonRequestBehavior = JsonRequestBehavior.AllowGet,
Data = suggestions
};
}
public SelectList GetSuggestionList(string searchString)
{
var dataVal = _tvDbProvider.SearchSeries(searchString);
//var bestResult = _tvDbProvider.GetBestMatch(dataVal.ToList(), searchString);
return new SelectList(dataVal, "Id", "SeriesName", dataVal[0].Id);
}
}
}

@ -12,18 +12,17 @@ namespace NzbDrone.Web.Controllers
{ {
public class AddSeriesController : Controller public class AddSeriesController : Controller
{ {
public IConfigProvider ConfigProvider { get; set; }
private readonly ISyncProvider _syncProvider; private readonly SyncProvider _syncProvider;
private readonly RootDirProvider _rootFolderProvider; private readonly RootDirProvider _rootFolderProvider;
private readonly IConfigProvider _configProvider; private readonly ConfigProvider _configProvider;
private readonly QualityProvider _qualityProvider; private readonly QualityProvider _qualityProvider;
private readonly TvDbProvider _tvDbProvider; private readonly TvDbProvider _tvDbProvider;
private readonly SeriesProvider _seriesProvider; private readonly SeriesProvider _seriesProvider;
public AddSeriesController(ISyncProvider syncProvider, RootDirProvider rootFolderProvider, IConfigProvider configProvider, public AddSeriesController(SyncProvider syncProvider, RootDirProvider rootFolderProvider, ConfigProvider configProvider,
QualityProvider qualityProvider, TvDbProvider tvDbProvider, SeriesProvider seriesProvider) QualityProvider qualityProvider, TvDbProvider tvDbProvider, SeriesProvider seriesProvider)
{ {
ConfigProvider = configProvider;
_syncProvider = syncProvider; _syncProvider = syncProvider;
_rootFolderProvider = rootFolderProvider; _rootFolderProvider = rootFolderProvider;
_configProvider = configProvider; _configProvider = configProvider;
@ -125,9 +124,14 @@ namespace NzbDrone.Web.Controllers
public SelectList GetSuggestionList(string searchString) public SelectList GetSuggestionList(string searchString)
{ {
var dataVal = _tvDbProvider.SearchSeries(searchString); var dataVal = _tvDbProvider.SearchSeries(searchString);
//var bestResult = _tvDbProvider.GetBestMatch(dataVal.ToList(), searchString);
return new SelectList(dataVal, "Id", "SeriesName", dataVal[0].Id); int selectId = 0;
if (dataVal.Count != 0)
{
selectId = dataVal[0].Id;
}
return new SelectList(dataVal, "Id", "SeriesName", selectId);
} }
} }

@ -14,11 +14,11 @@ namespace NzbDrone.Web.Controllers
public class ApiController : Controller public class ApiController : Controller
{ {
private readonly PostProcessingProvider _postProcessingProvider; private readonly PostProcessingProvider _postProcessingProvider;
private readonly IConfigProvider _configProvider; private readonly ConfigProvider _configProvider;
private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public ApiController(PostProcessingProvider postProcessingProvider, IConfigProvider configProvider) public ApiController(PostProcessingProvider postProcessingProvider, ConfigProvider configProvider)
{ {
_postProcessingProvider = postProcessingProvider; _postProcessingProvider = postProcessingProvider;
_configProvider = configProvider; _configProvider = configProvider;

@ -23,19 +23,19 @@ namespace NzbDrone.Web.Controllers
{ {
private readonly SeriesProvider _seriesProvider; private readonly SeriesProvider _seriesProvider;
private readonly EpisodeProvider _episodeProvider; private readonly EpisodeProvider _episodeProvider;
private readonly ISyncProvider _syncProvider; private readonly SyncProvider _syncProvider;
private readonly RssSyncProvider _rssSyncProvider; private readonly RssSyncProvider _rssSyncProvider;
private readonly QualityProvider _qualityProvider; private readonly QualityProvider _qualityProvider;
private readonly IMediaFileProvider _mediaFileProvider; private readonly MediaFileProvider _mediaFileProvider;
private readonly RenameProvider _renameProvider; private readonly RenameProvider _renameProvider;
private readonly RootDirProvider _rootDirProvider; private readonly RootDirProvider _rootDirProvider;
private readonly TvDbProvider _tvDbProvider; private readonly TvDbProvider _tvDbProvider;
// //
// GET: /Series/ // GET: /Series/
public SeriesController(ISyncProvider syncProvider, SeriesProvider seriesProvider, public SeriesController(SyncProvider syncProvider, SeriesProvider seriesProvider,
EpisodeProvider episodeProvider, RssSyncProvider rssSyncProvider, EpisodeProvider episodeProvider, RssSyncProvider rssSyncProvider,
QualityProvider qualityProvider, IMediaFileProvider mediaFileProvider, QualityProvider qualityProvider, MediaFileProvider mediaFileProvider,
RenameProvider renameProvider, RootDirProvider rootDirProvider, RenameProvider renameProvider, RootDirProvider rootDirProvider,
TvDbProvider tvDbProvider) TvDbProvider tvDbProvider)
{ {

@ -19,7 +19,7 @@ namespace NzbDrone.Web.Controllers
[HandleError] [HandleError]
public class SettingsController : Controller public class SettingsController : Controller
{ {
private IConfigProvider _configProvider; private ConfigProvider _configProvider;
private IndexerProvider _indexerProvider; private IndexerProvider _indexerProvider;
private QualityProvider _qualityProvider; private QualityProvider _qualityProvider;
private RootDirProvider _rootDirProvider; private RootDirProvider _rootDirProvider;
@ -28,7 +28,7 @@ namespace NzbDrone.Web.Controllers
private const string SETTINGS_SAVED = "Settings Saved."; private const string SETTINGS_SAVED = "Settings Saved.";
private const string SETTINGS_FAILED = "Error Saving Settings, please fix any errors"; private const string SETTINGS_FAILED = "Error Saving Settings, please fix any errors";
public SettingsController(IConfigProvider configProvider, IndexerProvider indexerProvider, public SettingsController(ConfigProvider configProvider, IndexerProvider indexerProvider,
QualityProvider qualityProvider, RootDirProvider rootDirProvider) QualityProvider qualityProvider, RootDirProvider rootDirProvider)
{ {
_configProvider = configProvider; _configProvider = configProvider;

Loading…
Cancel
Save