mirror of
https://github.com/Radarr/Radarr.git
synced 2024-10-03 22:57:18 +02:00
add series works again, now includes title.
This commit is contained in:
parent
9ed7c03d48
commit
94daf08361
3
.gitignore
vendored
3
.gitignore
vendored
@ -133,4 +133,5 @@ UpdateLogs/
|
||||
*.sqo
|
||||
*.userprefs
|
||||
*/test-results/*
|
||||
.idea/*
|
||||
.idea/*
|
||||
NzbDrone.Web/*
|
||||
|
@ -40,7 +40,7 @@ public static void InitializeAutomapper()
|
||||
|
||||
//Series
|
||||
Mapper.CreateMap<Core.Tv.Series, SeriesResource>()
|
||||
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.OID))
|
||||
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
|
||||
.ForMember(dest => dest.CustomStartDate, opt => opt.ResolveUsing<NullableDatetimeToString>().FromMember(src => src.CustomStartDate))
|
||||
.ForMember(dest => dest.BacklogSetting, opt => opt.MapFrom(src => (Int32)src.BacklogSetting))
|
||||
.ForMember(dest => dest.NextAiring, opt => opt.ResolveUsing<NextAiringResolver>());
|
||||
|
@ -59,7 +59,7 @@ private Response AddSeries()
|
||||
//(we can just create the folder and it won't blow up if it already exists)
|
||||
//We also need to remove any special characters from the filename before attempting to create it
|
||||
|
||||
_seriesService.AddSeries("", request.Path, request.OID, request.QualityProfileId, null);
|
||||
_seriesService.AddSeries(request.Title, request.Path, request.TvDbId, request.QualityProfileId, null);
|
||||
_jobProvider.QueueJob(typeof(ImportNewSeriesJob));
|
||||
|
||||
return new Response { StatusCode = HttpStatusCode.Created };
|
||||
@ -89,7 +89,7 @@ private Response UpdateSeries()
|
||||
_seriesRepository.Update(series);
|
||||
|
||||
if (oldPath != series.Path)
|
||||
_jobProvider.QueueJob(typeof(DiskScanJob), new { SeriesId = series.OID });
|
||||
_jobProvider.QueueJob(typeof(DiskScanJob), new { SeriesId = series.Id });
|
||||
|
||||
_seriesRepository.Update(series);
|
||||
|
||||
@ -117,7 +117,7 @@ public SeriesValidator()
|
||||
{
|
||||
RuleSet("POST", () =>
|
||||
{
|
||||
RuleFor(s => ((ModelBase)s).OID).GreaterThan(0);
|
||||
RuleFor(s => ((ModelBase)s).Id).GreaterThan(0);
|
||||
RuleFor(s => s.Path).NotEmpty().Must(_diskProvider.FolderExists);
|
||||
RuleFor(s => s.QualityProfileId).GreaterThan(0);
|
||||
});
|
||||
|
@ -1,5 +1,9 @@
|
||||
<div class="line row folder-match-result-view">
|
||||
<a href="http://thetvdb.com/?tab=series&id={{id}}" target="_blank" class="icon-info-sign"></a>
|
||||
<span>{{seriesName}} {{seriesYear}}</span>
|
||||
<span class="icon-plus pull-right btn btn-success x-btn-add"></span>
|
||||
|
||||
<div class="span6">
|
||||
{{title}} {{seriesYear}}
|
||||
</div>
|
||||
<div class="btn btn-success x-btn-add">
|
||||
<icon class="icon-plus "></icon>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -15,13 +15,13 @@ define([
|
||||
|
||||
var self = this;
|
||||
|
||||
var seriesId = this.model.get('id');
|
||||
var title = this.model.get('seriesName');
|
||||
var seriesId = this.model.get('tvDbId');
|
||||
var title = this.model.get('title');
|
||||
var quality = this.options.qualityProfile.val();
|
||||
var path = this.options.folder.path;
|
||||
|
||||
var model = new NzbDrone.Series.SeriesModel({
|
||||
seriesId:seriesId,
|
||||
tvDbId: seriesId,
|
||||
title:title,
|
||||
qualityProfileId:quality,
|
||||
path:path
|
||||
@ -34,6 +34,7 @@ define([
|
||||
model.save(undefined, {
|
||||
success:function () {
|
||||
var notificationModel = new NzbDrone.Shared.NotificationModel({
|
||||
tvDbId: seriesId,
|
||||
title:'Added',
|
||||
message:title,
|
||||
level:'success'
|
||||
|
@ -11,7 +11,7 @@
|
||||
<icon class="icon-search "></icon>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="x-folder-name-match-results span11" />
|
||||
<div class="x-folder-name-match-results folder-name-matches span11" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
<div class="accordion-group">
|
||||
<div class="accordion-heading">
|
||||
<a href="http://thetvdb.com/?tab=series&id={{id}}" target="_blank" class="icon-info-sign pull-left"></a>
|
||||
<a class="accordion-toggle" data-toggle="collapse" href="#{{id}}">{{seriesName}} {{seriesYear}}</a>
|
||||
<a href="http://thetvdb.com/?tab=series&id={{tvDbId}}" target="_blank" class="icon-info-sign pull-left"></a>
|
||||
<a class="accordion-toggle" data-toggle="collapse" href="#{{tvDbId}}">{{title}} {{seriesYear}}</a>
|
||||
</div>
|
||||
<div id="{{id}}" class="accordion-body collapse">
|
||||
<div id="{{tvDbId}}" class="accordion-body collapse">
|
||||
<div class="accordion-inner">
|
||||
<select class="span7 x-root-folder">
|
||||
{{#each rootFolders.models}}
|
||||
|
@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
define(['app','Shared/NotificationCollection', 'AddSeries/SearchResultCollection', 'AddSeries/SearchResultModel', 'Series/SeriesCollection'], function (app,notificationCollection) {
|
||||
|
||||
define(['app', 'Shared/NotificationCollection', 'AddSeries/SearchResultCollection', 'AddSeries/SearchResultModel', 'Series/SeriesCollection'], function (app, notificationCollection) {
|
||||
|
||||
NzbDrone.AddSeries.New.SearchItemView = Backbone.Marionette.ItemView.extend({
|
||||
|
||||
template: "AddSeries/New/SearchResultTemplate",
|
||||
@ -23,8 +23,8 @@ define(['app','Shared/NotificationCollection', 'AddSeries/SearchResultCollection
|
||||
|
||||
add: function () {
|
||||
|
||||
var seriesId = this.model.get('id');
|
||||
var title = this.model.get('seriesName');
|
||||
var seriesId = this.model.get('tvDbId');
|
||||
var title = this.model.get('title');
|
||||
var quality = this.ui.qualityProfile.val();
|
||||
var rootFolderId = this.ui.rootFolder.val();
|
||||
|
||||
@ -33,7 +33,7 @@ define(['app','Shared/NotificationCollection', 'AddSeries/SearchResultCollection
|
||||
var path = rootPath + "\\" + title;
|
||||
|
||||
var model = new NzbDrone.Series.SeriesModel({
|
||||
seriesId: seriesId,
|
||||
tvdbId: seriesId,
|
||||
title: title,
|
||||
qualityProfileId: quality,
|
||||
path: path
|
||||
@ -41,7 +41,7 @@ define(['app','Shared/NotificationCollection', 'AddSeries/SearchResultCollection
|
||||
|
||||
var self = this;
|
||||
|
||||
var seriesCollection = new NzbDrone.Series.SeriesCollection();
|
||||
var seriesCollection = new NzbDrone.Series.SeriesCollection();
|
||||
seriesCollection.push(model);
|
||||
|
||||
model.save(undefined, {
|
||||
|
@ -7,7 +7,7 @@
|
||||
var date = Date.utc.create(this.get('firstAired')).format('({yyyy})');
|
||||
|
||||
//don't append year, if the series name already has the name appended.
|
||||
if (this.get('seriesName').endsWith(date)) {
|
||||
if (this.get('title').endsWith(date)) {
|
||||
return "";
|
||||
} else {
|
||||
return date;
|
||||
|
@ -21,12 +21,12 @@ public void SetUp()
|
||||
{
|
||||
childModel = Builder<ChildModel>
|
||||
.CreateNew()
|
||||
.With(s => s.OID = 0)
|
||||
.With(s => s.Id = 0)
|
||||
.Build();
|
||||
|
||||
ParentModel = Builder<ParentModel>
|
||||
.CreateNew()
|
||||
.With(e => e.OID = 0)
|
||||
.With(e => e.Id = 0)
|
||||
.Build();
|
||||
|
||||
}
|
||||
@ -48,7 +48,7 @@ public void double_insert_should_fail()
|
||||
[Test]
|
||||
public void update_item_with_root_index_0_should_faile()
|
||||
{
|
||||
childModel.OID = 0;
|
||||
childModel.Id = 0;
|
||||
Assert.Throws<InvalidOperationException>(() => Db.Update(childModel));
|
||||
}
|
||||
|
||||
@ -89,7 +89,7 @@ public void should_update_nested_objects()
|
||||
{
|
||||
ParentModel.Child = Builder<ChildModel>
|
||||
.CreateNew()
|
||||
.With(s => s.OID = 0)
|
||||
.With(s => s.Id = 0)
|
||||
.Build();
|
||||
|
||||
Db.Insert(ParentModel);
|
||||
@ -106,19 +106,19 @@ public void should_update_nested_objects()
|
||||
[Test]
|
||||
public void new_objects_should_get_id()
|
||||
{
|
||||
childModel.OID = 0;
|
||||
childModel.Id = 0;
|
||||
Db.Insert(childModel);
|
||||
childModel.OID.Should().NotBe(0);
|
||||
childModel.Id.Should().NotBe(0);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void new_object_should_get_new_id()
|
||||
{
|
||||
childModel.OID = 0;
|
||||
childModel.Id = 0;
|
||||
Db.Insert(childModel);
|
||||
|
||||
Db.AsQueryable<ChildModel>().Should().HaveCount(1);
|
||||
childModel.OID.Should().Be(1);
|
||||
childModel.Id.Should().Be(1);
|
||||
}
|
||||
|
||||
|
||||
@ -131,31 +131,31 @@ public void should_be_able_to_assign_ids_to_nested_objects()
|
||||
|
||||
Db.Insert(nested);
|
||||
|
||||
nested.OID.Should().Be(1);
|
||||
nested.List.Should().OnlyContain(c => c.OID > 0);
|
||||
nested.Id.Should().Be(1);
|
||||
nested.List.Should().OnlyContain(c => c.Id > 0);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_have_id_when_returned_from_database()
|
||||
{
|
||||
childModel.OID = 0;
|
||||
childModel.Id = 0;
|
||||
Db.Insert(childModel);
|
||||
var item = Db.AsQueryable<ChildModel>();
|
||||
|
||||
item.Should().HaveCount(1);
|
||||
item.First().OID.Should().NotBe(0);
|
||||
item.First().OID.Should().BeLessThan(100);
|
||||
item.First().OID.Should().Be(childModel.OID);
|
||||
item.First().Id.Should().NotBe(0);
|
||||
item.First().Id.Should().BeLessThan(100);
|
||||
item.First().Id.Should().Be(childModel.Id);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_be_able_to_find_object_by_id()
|
||||
{
|
||||
Db.Insert(childModel);
|
||||
var item = Db.AsQueryable<ChildModel>().Single(c => c.OID == childModel.OID);
|
||||
var item = Db.AsQueryable<ChildModel>().Single(c => c.Id == childModel.Id);
|
||||
|
||||
item.OID.Should().NotBe(0);
|
||||
item.OID.Should().Be(childModel.OID);
|
||||
item.Id.Should().NotBe(0);
|
||||
item.Id.Should().Be(childModel.Id);
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -27,7 +27,7 @@ public void Setup()
|
||||
{
|
||||
sampleType = Builder<SampleType>
|
||||
.CreateNew()
|
||||
.With(c => c.OID = 0)
|
||||
.With(c => c.Id = 0)
|
||||
.Build();
|
||||
|
||||
}
|
||||
@ -47,7 +47,7 @@ public void should_be_able_to_delete_model()
|
||||
Subject.Insert(sampleType);
|
||||
Subject.All().Should().HaveCount(1);
|
||||
|
||||
Subject.Delete(sampleType.OID);
|
||||
Subject.Delete(sampleType.Id);
|
||||
Subject.All().Should().BeEmpty();
|
||||
}
|
||||
|
||||
@ -55,7 +55,7 @@ public void should_be_able_to_delete_model()
|
||||
public void should_be_able_to_find_by_id()
|
||||
{
|
||||
Subject.Insert(sampleType);
|
||||
Subject.Get(sampleType.OID)
|
||||
Subject.Get(sampleType.Id)
|
||||
.ShouldHave()
|
||||
.AllProperties()
|
||||
.EqualTo(sampleType);
|
||||
|
@ -66,9 +66,9 @@ public void Setup()
|
||||
firstQuality = new QualityModel(QualityTypes.Bluray1080p, true);
|
||||
secondQuality = new QualityModel(QualityTypes.Bluray1080p, true);
|
||||
|
||||
Mocker.GetMock<IHistoryService>().Setup(c => c.GetBestQualityInHistory(fakeSeries.OID, 12, 3)).Returns(firstQuality);
|
||||
Mocker.GetMock<IHistoryService>().Setup(c => c.GetBestQualityInHistory(fakeSeries.OID, 12, 4)).Returns(secondQuality);
|
||||
Mocker.GetMock<IHistoryService>().Setup(c => c.GetBestQualityInHistory(fakeSeries.OID, 12, 5)).Returns<QualityModel>(null);
|
||||
Mocker.GetMock<IHistoryService>().Setup(c => c.GetBestQualityInHistory(fakeSeries.Id, 12, 3)).Returns(firstQuality);
|
||||
Mocker.GetMock<IHistoryService>().Setup(c => c.GetBestQualityInHistory(fakeSeries.Id, 12, 4)).Returns(secondQuality);
|
||||
Mocker.GetMock<IHistoryService>().Setup(c => c.GetBestQualityInHistory(fakeSeries.Id, 12, 5)).Returns<QualityModel>(null);
|
||||
}
|
||||
|
||||
private void WithFirstReportUpgradable()
|
||||
@ -124,7 +124,7 @@ public void should_not_be_upgradable_if_episode_is_of_same_quality_as_existing()
|
||||
parseResultSingle.Quality = new QualityModel(QualityTypes.WEBDL1080p, false);
|
||||
firstQuality = new QualityModel(QualityTypes.WEBDL1080p, false);
|
||||
|
||||
Mocker.GetMock<IHistoryService>().Setup(c => c.GetBestQualityInHistory(fakeSeries.OID, 12, 3)).Returns(firstQuality);
|
||||
Mocker.GetMock<IHistoryService>().Setup(c => c.GetBestQualityInHistory(fakeSeries.Id, 12, 3)).Returns(firstQuality);
|
||||
|
||||
_upgradeHistory.IsSatisfiedBy(parseResultSingle).Should().BeFalse();
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ public void SetUp()
|
||||
.Build();
|
||||
|
||||
_episode = Builder<Episode>.CreateNew()
|
||||
.With(e => e.SeriesId = _series.OID)
|
||||
.With(e => e.SeriesId = _series.Id)
|
||||
.With(e => e.Series = _series)
|
||||
.With(e => e.EpisodeFile = _episodeFile)
|
||||
.Build();
|
||||
|
@ -19,7 +19,7 @@ public void Trim_Items()
|
||||
{
|
||||
var historyItem = Builder<History.History>.CreateListOfSize(30)
|
||||
.All()
|
||||
.With(c=>c.OID = 0)
|
||||
.With(c=>c.Id = 0)
|
||||
.TheFirst(10).With(c => c.Date = DateTime.Now)
|
||||
.TheNext(20).With(c => c.Date = DateTime.Now.AddDays(-31))
|
||||
.Build();
|
||||
@ -46,13 +46,13 @@ public void GetBestQualityInHistory_single_result()
|
||||
var series = Builder<Series>.CreateNew().Build();
|
||||
var episode = Builder<Episode>.CreateNew()
|
||||
.With(c => c.Series = series)
|
||||
.With(c => c.SeriesId = series.OID)
|
||||
.With(c => c.SeriesId = series.Id)
|
||||
.Build();
|
||||
|
||||
|
||||
|
||||
var history = Builder<History.History>.CreateNew()
|
||||
.With(c => c.OID = 0)
|
||||
.With(c => c.Id = 0)
|
||||
.With(h => h.Quality = new QualityModel(QualityTypes.Bluray720p, true))
|
||||
.With(h => h.Episode = episode)
|
||||
.Build();
|
||||
@ -73,14 +73,14 @@ public void GetBestQualityInHistory_should_return_highest_result()
|
||||
var series = Builder<Series>.CreateNew().Build();
|
||||
var episode = Builder<Episode>.CreateNew()
|
||||
.With(c => c.Series = series)
|
||||
.With(c => c.SeriesId = series.OID)
|
||||
.With(c => c.SeriesId = series.Id)
|
||||
.Build();
|
||||
|
||||
|
||||
var history = Builder<History.History>
|
||||
.CreateListOfSize(5)
|
||||
.All()
|
||||
.With(c => c.OID = 0)
|
||||
.With(c => c.Id = 0)
|
||||
.With(h => h.Episode = episode)
|
||||
.TheFirst(1)
|
||||
.With(h => h.Quality = new QualityModel(QualityTypes.DVD, true))
|
||||
|
@ -40,7 +40,7 @@ public void getEnabled_should_not_return_any_when_no_indexers_are_enabled()
|
||||
|
||||
Mocker.GetMock<IIndexerRepository>()
|
||||
.Setup(s => s.All())
|
||||
.Returns(new List<Indexer> {new Indexer {OID = 1, Type = "", Enable = false, Name = "Fake Indexer"}});
|
||||
.Returns(new List<Indexer> {new Indexer {Id = 1, Type = "", Enable = false, Name = "Fake Indexer"}});
|
||||
|
||||
Subject.GetEnabledIndexers().Should().BeEmpty();
|
||||
}
|
||||
|
@ -21,14 +21,14 @@ private void WithInvalidName()
|
||||
{
|
||||
Mocker.GetMock<INewznabRepository>()
|
||||
.Setup(s => s.All())
|
||||
.Returns(new List<NewznabDefinition>{new NewznabDefinition { OID = 1, Name = "", Url = "http://www.nzbdrone.com" }});
|
||||
.Returns(new List<NewznabDefinition>{new NewznabDefinition { Id = 1, Name = "", Url = "http://www.nzbdrone.com" }});
|
||||
}
|
||||
|
||||
private void WithExisting()
|
||||
{
|
||||
Mocker.GetMock<INewznabRepository>()
|
||||
.Setup(s => s.All())
|
||||
.Returns(new List<NewznabDefinition> { new NewznabDefinition { OID = 1, Name = "Nzbs.org", Url = "http://nzbs.org" } });
|
||||
.Returns(new List<NewznabDefinition> { new NewznabDefinition { Id = 1, Name = "Nzbs.org", Url = "http://nzbs.org" } });
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -158,7 +158,7 @@ public void series_season_missing_episodes_only()
|
||||
var episodes = Builder<Episode>.CreateListOfSize(5)
|
||||
.All()
|
||||
.With(e => e.Series = series)
|
||||
.With(e => e.SeriesId = series.OID)
|
||||
.With(e => e.SeriesId = series.Id)
|
||||
.With(e => e.SeasonNumber = 1)
|
||||
.Build();
|
||||
|
||||
@ -198,7 +198,7 @@ public void multiple_missing_episodes()
|
||||
var episodes = Builder<Episode>.CreateListOfSize(10)
|
||||
.TheFirst(5)
|
||||
.With(e => e.Series = series)
|
||||
.With(e => e.SeriesId = series.OID)
|
||||
.With(e => e.SeriesId = series.Id)
|
||||
.With(e => e.SeasonNumber = 1)
|
||||
.TheNext(5)
|
||||
.With(e => e.Series = series2)
|
||||
|
@ -82,10 +82,10 @@ public void Start_should_download_single_banner_when_seriesId_is_passed_in()
|
||||
var series = Builder<Series>.CreateNew()
|
||||
.Build();
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>().Setup(s => s.Get(series.OID))
|
||||
Mocker.GetMock<ISeriesRepository>().Setup(s => s.Get(series.Id))
|
||||
.Returns(series);
|
||||
|
||||
Mocker.Resolve<BannerDownloadJob>().Start(_notification, new { SeriesId = series.OID });
|
||||
Mocker.Resolve<BannerDownloadJob>().Start(_notification, new { SeriesId = series.Id });
|
||||
VerifyDownloadMock(1);
|
||||
}
|
||||
}
|
||||
|
@ -26,12 +26,12 @@ public class DiskScanJobTest : CoreTest
|
||||
public void series_specific_scan_should_scan_series()
|
||||
{
|
||||
var series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 12)
|
||||
.With(s => s.Id = 12)
|
||||
.Build();
|
||||
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
.Setup(p => p.Get(series.OID));
|
||||
.Setup(p => p.Get(series.Id));
|
||||
|
||||
|
||||
Mocker.GetMock<DiskScanProvider>()
|
||||
@ -39,7 +39,7 @@ public void series_specific_scan_should_scan_series()
|
||||
.Returns(new List<EpisodeFile>());
|
||||
|
||||
//Act
|
||||
Mocker.Resolve<DiskScanJob>().Start(new ProgressNotification("Test"), new { SeriesId = series.OID });
|
||||
Mocker.Resolve<DiskScanJob>().Start(new ProgressNotification("Test"), new { SeriesId = series.Id });
|
||||
|
||||
//Assert
|
||||
Mocker.VerifyAllMocks();
|
||||
@ -51,8 +51,8 @@ public void series_specific_scan_should_scan_series()
|
||||
public void job_with_no_target_should_scan_all_series()
|
||||
{
|
||||
var series = Builder<Series>.CreateListOfSize(2)
|
||||
.TheFirst(1).With(s => s.OID = 12)
|
||||
.TheNext(1).With(s => s.OID = 15)
|
||||
.TheFirst(1).With(s => s.Id = 12)
|
||||
.TheNext(1).With(s => s.Id = 15)
|
||||
.Build().ToList();
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
@ -77,8 +77,8 @@ public void job_with_no_target_should_scan_all_series()
|
||||
public void failed_scan_should_not_terminated_job()
|
||||
{
|
||||
var series = Builder<Series>.CreateListOfSize(2)
|
||||
.TheFirst(1).With(s => s.OID = 12)
|
||||
.TheNext(1).With(s => s.OID = 15)
|
||||
.TheFirst(1).With(s => s.Id = 12)
|
||||
.TheNext(1).With(s => s.Id = 15)
|
||||
.Build().ToList();
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
@ -104,8 +104,8 @@ public void failed_scan_should_not_terminated_job()
|
||||
public void job_with_no_target_should_scan_series_with_episodes()
|
||||
{
|
||||
var series = Builder<Series>.CreateListOfSize(2)
|
||||
.TheFirst(1).With(s => s.OID = 12)
|
||||
.TheNext(1).With(s => s.OID = 15)
|
||||
.TheFirst(1).With(s => s.Id = 12)
|
||||
.TheNext(1).With(s => s.Id = 15)
|
||||
.Build().ToList();
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
|
@ -26,8 +26,8 @@ public void import_new_series_succesful()
|
||||
{
|
||||
var series = Builder<Series>.CreateListOfSize(2)
|
||||
.All().With(s => s.LastInfoSync = null)
|
||||
.TheFirst(1).With(s => s.OID = 12)
|
||||
.TheNext(1).With(s => s.OID = 15)
|
||||
.TheFirst(1).With(s => s.Id = 12)
|
||||
.TheNext(1).With(s => s.Id = 15)
|
||||
.Build();
|
||||
|
||||
var notification = new ProgressNotification("Test");
|
||||
@ -40,11 +40,11 @@ public void import_new_series_succesful()
|
||||
|
||||
|
||||
Mocker.GetMock<DiskScanJob>()
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].OID)))
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].Id)))
|
||||
.Callback(() => series[0].LastDiskSync = DateTime.Now);
|
||||
|
||||
Mocker.GetMock<DiskScanJob>()
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].OID)))
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].Id)))
|
||||
.Callback(() => series[1].LastDiskSync = DateTime.Now);
|
||||
|
||||
Mocker.GetMock<BannerDownloadJob>()
|
||||
@ -54,18 +54,18 @@ public void import_new_series_succesful()
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") > 0)));
|
||||
|
||||
Mocker.GetMock<UpdateInfoJob>()
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].OID)))
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].Id)))
|
||||
.Callback(() => series[0].LastInfoSync = DateTime.Now);
|
||||
|
||||
Mocker.GetMock<UpdateInfoJob>()
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].OID)))
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].Id)))
|
||||
.Callback(() => series[1].LastInfoSync = DateTime.Now);
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
.Setup(s => s.Get(series[0].OID)).Returns(series[0]);
|
||||
.Setup(s => s.Get(series[0].Id)).Returns(series[0]);
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
.Setup(s => s.Get(series[1].OID)).Returns(series[1]);
|
||||
.Setup(s => s.Get(series[1].Id)).Returns(series[1]);
|
||||
|
||||
Mocker.GetMock<MediaFileProvider>()
|
||||
.Setup(s => s.GetSeriesFiles(It.IsAny<int>())).Returns(new List<EpisodeFile>());
|
||||
@ -74,11 +74,11 @@ public void import_new_series_succesful()
|
||||
Mocker.Resolve<ImportNewSeriesJob>().Start(notification, null);
|
||||
|
||||
//Assert
|
||||
Mocker.GetMock<DiskScanJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].OID)), Times.Once());
|
||||
Mocker.GetMock<DiskScanJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].OID)), Times.Once());
|
||||
Mocker.GetMock<DiskScanJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].Id)), Times.Once());
|
||||
Mocker.GetMock<DiskScanJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].Id)), Times.Once());
|
||||
|
||||
Mocker.GetMock<UpdateInfoJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].OID)), Times.Once());
|
||||
Mocker.GetMock<UpdateInfoJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].OID)), Times.Once());
|
||||
Mocker.GetMock<UpdateInfoJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].Id)), Times.Once());
|
||||
Mocker.GetMock<UpdateInfoJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].Id)), Times.Once());
|
||||
|
||||
}
|
||||
|
||||
@ -91,8 +91,8 @@ public void failed_import_should_not_be_stuck_in_loop()
|
||||
{
|
||||
var series = Builder<Series>.CreateListOfSize(2)
|
||||
.All().With(s => s.LastInfoSync = null)
|
||||
.TheFirst(1).With(s => s.OID = 12)
|
||||
.TheNext(1).With(s => s.OID = 15)
|
||||
.TheFirst(1).With(s => s.Id = 12)
|
||||
.TheNext(1).With(s => s.Id = 15)
|
||||
.Build();
|
||||
|
||||
var notification = new ProgressNotification("Test");
|
||||
@ -104,37 +104,37 @@ public void failed_import_should_not_be_stuck_in_loop()
|
||||
.Returns(series);
|
||||
|
||||
Mocker.GetMock<UpdateInfoJob>()
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].OID)))
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].Id)))
|
||||
.Callback(() => series[0].LastInfoSync = DateTime.Now);
|
||||
|
||||
Mocker.GetMock<UpdateInfoJob>()
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].OID)))
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].Id)))
|
||||
.Throws(new InvalidOperationException());
|
||||
|
||||
Mocker.GetMock<DiskScanJob>()
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].OID)))
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].Id)))
|
||||
.Callback(() => series[0].LastDiskSync = DateTime.Now);
|
||||
|
||||
Mocker.GetMock<BannerDownloadJob>()
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].OID)));
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].Id)));
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
.Setup(s => s.Get(series[0].OID)).Returns(series[0]);
|
||||
.Setup(s => s.Get(series[0].Id)).Returns(series[0]);
|
||||
|
||||
Mocker.GetMock<MediaFileProvider>()
|
||||
.Setup(s => s.GetSeriesFiles(It.IsAny<int>())).Returns(new List<EpisodeFile>());
|
||||
|
||||
Mocker.GetMock<XemUpdateJob>()
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].OID)));
|
||||
.Setup(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].Id)));
|
||||
|
||||
//Act
|
||||
Mocker.Resolve<ImportNewSeriesJob>().Start(notification, null);
|
||||
|
||||
//Assert
|
||||
Mocker.GetMock<UpdateInfoJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].OID)), Times.Once());
|
||||
Mocker.GetMock<UpdateInfoJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].OID)), Times.Once());
|
||||
Mocker.GetMock<UpdateInfoJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].Id)), Times.Once());
|
||||
Mocker.GetMock<UpdateInfoJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[1].Id)), Times.Once());
|
||||
|
||||
Mocker.GetMock<DiskScanJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].OID)), Times.Once());
|
||||
Mocker.GetMock<DiskScanJob>().Verify(j => j.Start(notification, It.Is<object>(d => d.GetPropertyValue<int>("SeriesId") == series[0].Id)), Times.Once());
|
||||
|
||||
ExceptionVerification.ExpectedErrors(1);
|
||||
|
||||
|
@ -59,7 +59,7 @@ public void inti_should_removed_jobs_that_no_longer_exist()
|
||||
Subject.Init();
|
||||
|
||||
var deletedJob = Builder<JobDefinition>.CreateNew()
|
||||
.With(c => c.OID = 0)
|
||||
.With(c => c.Id = 0)
|
||||
.Build();
|
||||
|
||||
Db.Insert(deletedJob);
|
||||
@ -80,7 +80,7 @@ public void inti_should_removed_jobs_that_no_longer_exist_even_with_same_name()
|
||||
|
||||
var deletedJob = Builder<JobDefinition>.CreateNew()
|
||||
.With(c => c.Name = _fakeJob.Name)
|
||||
.With(c => c.OID = 0)
|
||||
.With(c => c.Id = 0)
|
||||
.Build();
|
||||
|
||||
|
||||
@ -99,7 +99,7 @@ public void init_should_update_existing_job()
|
||||
{
|
||||
|
||||
var oldJob = Builder<JobDefinition>.CreateNew()
|
||||
.With(c => c.OID = 0)
|
||||
.With(c => c.Id = 0)
|
||||
.With(c => c.Name = "OldName")
|
||||
.With(c => c.TypeName = typeof(FakeJob).ToString())
|
||||
.With(c => c.Interval = 0)
|
||||
|
@ -37,11 +37,11 @@ public void Setup()
|
||||
.Build();
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
.Setup(s => s.Get(_series.OID))
|
||||
.Setup(s => s.Get(_series.Id))
|
||||
.Returns(_series);
|
||||
|
||||
Mocker.GetMock<MediaFileProvider>()
|
||||
.Setup(s => s.GetSeasonFiles(_series.OID, 5))
|
||||
.Setup(s => s.GetSeasonFiles(_series.Id, 5))
|
||||
.Returns(_episodeFiles);
|
||||
}
|
||||
|
||||
@ -63,13 +63,13 @@ public void should_throw_if_seriesId_is_zero()
|
||||
public void should_throw_if_seasonId_is_less_than_zero()
|
||||
{
|
||||
Assert.Throws<ArgumentException>(() =>
|
||||
Mocker.Resolve<RenameSeasonJob>().Start(_testNotification, new { SeriesId = _series.OID, SeasonNumber = -10 }));
|
||||
Mocker.Resolve<RenameSeasonJob>().Start(_testNotification, new { SeriesId = _series.Id, SeasonNumber = -10 }));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_log_warning_if_no_episode_files_are_found()
|
||||
{
|
||||
Mocker.Resolve<RenameSeasonJob>().Start(_testNotification, new { SeriesId = _series.OID, SeasonNumber = 10 });
|
||||
Mocker.Resolve<RenameSeasonJob>().Start(_testNotification, new { SeriesId = _series.Id, SeasonNumber = 10 });
|
||||
|
||||
ExceptionVerification.ExpectedWarns(1);
|
||||
}
|
||||
@ -77,7 +77,7 @@ public void should_log_warning_if_no_episode_files_are_found()
|
||||
[Test]
|
||||
public void should_return_if_no_episodes_are_moved()
|
||||
{
|
||||
Mocker.Resolve<RenameSeasonJob>().Start(_testNotification, new { SeriesId = _series.OID, SeasonNumber = 5 });
|
||||
Mocker.Resolve<RenameSeasonJob>().Start(_testNotification, new { SeriesId = _series.Id, SeasonNumber = 5 });
|
||||
|
||||
Mocker.GetMock<MetadataProvider>().Verify(v => v.RemoveForEpisodeFiles(It.IsAny<List<EpisodeFile>>()), Times.Never());
|
||||
}
|
||||
@ -86,7 +86,7 @@ public void should_return_if_no_episodes_are_moved()
|
||||
public void should_return_process_metadata_if_files_are_moved()
|
||||
{
|
||||
WithMovedFiles();
|
||||
Mocker.Resolve<RenameSeasonJob>().Start(_testNotification, new { SeriesId = _series.OID, SeasonNumber = 5 });
|
||||
Mocker.Resolve<RenameSeasonJob>().Start(_testNotification, new { SeriesId = _series.Id, SeasonNumber = 5 });
|
||||
|
||||
Mocker.GetMock<MetadataProvider>().Verify(v => v.RemoveForEpisodeFiles(It.IsAny<List<EpisodeFile>>()), Times.Once());
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ public void Setup()
|
||||
WithTempAsAppPath();
|
||||
|
||||
_series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 12345)
|
||||
.With(s => s.Id = 12345)
|
||||
.Build();
|
||||
|
||||
var path = @"C:\Windows\Temp";
|
||||
|
@ -81,7 +81,7 @@ public void should_move_file_if_a_conflict_is_found()
|
||||
.Build();
|
||||
|
||||
var series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = seriesId)
|
||||
.With(s => s.Id = seriesId)
|
||||
.With(s => s.Title = "The Office")
|
||||
.Build();
|
||||
|
||||
|
@ -29,13 +29,13 @@ public class MoveEpisodeFileFixture : CoreTest
|
||||
public void should_not_move_file_if_source_and_destination_are_the_same_path()
|
||||
{
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 5)
|
||||
.With(s => s.Id = 5)
|
||||
.With(s => s.Title = "30 Rock")
|
||||
.Build();
|
||||
|
||||
var fakeEpisode = Builder<Episode>.CreateListOfSize(1)
|
||||
.All()
|
||||
.With(e => e.SeriesId = fakeSeries.OID)
|
||||
.With(e => e.SeriesId = fakeSeries.Id)
|
||||
.With(e => e.SeasonNumber = 1)
|
||||
.With(e => e.EpisodeNumber = 1)
|
||||
.Build();
|
||||
@ -44,12 +44,12 @@ public void should_not_move_file_if_source_and_destination_are_the_same_path()
|
||||
var fi = new FileInfo(Path.Combine(@"C:\Test\TV\30 Rock\Season 01\", filename + ".avi"));
|
||||
|
||||
var file = Builder<EpisodeFile>.CreateNew()
|
||||
.With(f => f.SeriesId = fakeSeries.OID)
|
||||
.With(f => f.SeriesId = fakeSeries.Id)
|
||||
.With(f => f.Path = fi.FullName)
|
||||
.Build();
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
.Setup(e => e.Get(fakeSeries.OID))
|
||||
.Setup(e => e.Get(fakeSeries.Id))
|
||||
.Returns(fakeSeries);
|
||||
|
||||
Mocker.GetMock<IEpisodeService>()
|
||||
@ -75,13 +75,13 @@ public void should_not_move_file_if_source_and_destination_are_the_same_path()
|
||||
public void should_use_EpisodeFiles_quality()
|
||||
{
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 5)
|
||||
.With(s => s.Id = 5)
|
||||
.With(s => s.Title = "30 Rock")
|
||||
.Build();
|
||||
|
||||
var fakeEpisode = Builder<Episode>.CreateListOfSize(1)
|
||||
.All()
|
||||
.With(e => e.SeriesId = fakeSeries.OID)
|
||||
.With(e => e.SeriesId = fakeSeries.Id)
|
||||
.With(e => e.SeasonNumber = 1)
|
||||
.With(e => e.EpisodeNumber = 1)
|
||||
.Build();
|
||||
@ -92,14 +92,14 @@ public void should_use_EpisodeFiles_quality()
|
||||
const string message = "30 Rock - 1x01 - [WEBDL]";
|
||||
|
||||
var file = Builder<EpisodeFile>.CreateNew()
|
||||
.With(f => f.SeriesId = fakeSeries.OID)
|
||||
.With(f => f.SeriesId = fakeSeries.Id)
|
||||
.With(f => f.Path = currentFilename)
|
||||
.With(f => f.Quality = QualityTypes.WEBDL720p)
|
||||
.With(f => f.Proper = false)
|
||||
.Build();
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
.Setup(e => e.Get(fakeSeries.OID))
|
||||
.Setup(e => e.Get(fakeSeries.Id))
|
||||
.Returns(fakeSeries);
|
||||
|
||||
Mocker.GetMock<IEpisodeService>()
|
||||
@ -127,13 +127,13 @@ public void should_use_EpisodeFiles_quality()
|
||||
public void should_log_error_and_return_null_when_source_file_does_not_exists()
|
||||
{
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 5)
|
||||
.With(s => s.Id = 5)
|
||||
.With(s => s.Title = "30 Rock")
|
||||
.Build();
|
||||
|
||||
var fakeEpisode = Builder<Episode>.CreateListOfSize(1)
|
||||
.All()
|
||||
.With(e => e.SeriesId = fakeSeries.OID)
|
||||
.With(e => e.SeriesId = fakeSeries.Id)
|
||||
.With(e => e.SeasonNumber = 1)
|
||||
.With(e => e.EpisodeNumber = 1)
|
||||
.Build();
|
||||
@ -144,14 +144,14 @@ public void should_log_error_and_return_null_when_source_file_does_not_exists()
|
||||
const string message = "30 Rock - 1x01 - [WEBDL]";
|
||||
|
||||
var file = Builder<EpisodeFile>.CreateNew()
|
||||
.With(f => f.SeriesId = fakeSeries.OID)
|
||||
.With(f => f.SeriesId = fakeSeries.Id)
|
||||
.With(f => f.Path = currentFilename)
|
||||
.With(f => f.Quality = QualityTypes.WEBDL720p)
|
||||
.With(f => f.Proper = false)
|
||||
.Build();
|
||||
|
||||
Mocker.GetMock<ISeriesRepository>()
|
||||
.Setup(e => e.Get(fakeSeries.OID))
|
||||
.Setup(e => e.Get(fakeSeries.Id))
|
||||
.Returns(fakeSeries);
|
||||
|
||||
Mocker.GetMock<IEpisodeService>()
|
||||
|
@ -32,8 +32,8 @@ private void SetDownloadClient(DownloadClientType clientType)
|
||||
private EpisodeParseResult SetupParseResult()
|
||||
{
|
||||
var episodes = Builder<Episode>.CreateListOfSize(2)
|
||||
.TheFirst(1).With(s => s.OID = 12)
|
||||
.TheNext(1).With(s => s.OID = 99)
|
||||
.TheFirst(1).With(s => s.Id = 12)
|
||||
.TheNext(1).With(s => s.Id = 99)
|
||||
.All().With(s => s.SeriesId = 5)
|
||||
.Build().ToList();
|
||||
|
||||
|
@ -97,7 +97,7 @@ public void Scan_series_should_skip_series_with_no_episodes()
|
||||
.Returns(true);
|
||||
|
||||
var series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 12).Build();
|
||||
.With(s => s.Id = 12).Build();
|
||||
|
||||
//Act
|
||||
Mocker.Resolve<DiskScanProvider>().Scan(series);
|
||||
|
@ -39,7 +39,7 @@ public void Setup()
|
||||
|
||||
series = Builder<Series>
|
||||
.CreateNew()
|
||||
.With(s => s.OID == 79488)
|
||||
.With(s => s.Id == 79488)
|
||||
.With(s => s.Title == "30 Rock")
|
||||
.Build();
|
||||
|
||||
|
@ -37,7 +37,7 @@ public void Setup()
|
||||
|
||||
series = Builder<Series>
|
||||
.CreateNew()
|
||||
.With(s => s.OID == 79488)
|
||||
.With(s => s.Id == 79488)
|
||||
.With(s => s.Title == "30 Rock")
|
||||
.Build();
|
||||
|
||||
|
@ -72,7 +72,7 @@ private void WithImportedFiles(string droppedFolder)
|
||||
{
|
||||
var fakeEpisodeFiles = Builder<EpisodeFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(f => f.SeriesId = fakeSeries.OID)
|
||||
.With(f => f.SeriesId = fakeSeries.Id)
|
||||
.Build().ToList();
|
||||
|
||||
Mocker.GetMock<DiskScanProvider>().Setup(s => s.Scan(fakeSeries, droppedFolder)).Returns(fakeEpisodeFiles);
|
||||
@ -224,7 +224,7 @@ public void when_no_file_are_imported_and_folder_size_isnt_small_enought_folder_
|
||||
|
||||
var fakeEpisodeFiles = Builder<EpisodeFile>.CreateListOfSize(2)
|
||||
.All()
|
||||
.With(f => f.SeriesId = fakeSeries.OID)
|
||||
.With(f => f.SeriesId = fakeSeries.Id)
|
||||
.Build().ToList();
|
||||
|
||||
//Act
|
||||
|
@ -71,7 +71,7 @@ private void WithLotsOfFreeDiskSpace()
|
||||
private void WithImportedFile(string file)
|
||||
{
|
||||
var fakeEpisodeFile = Builder<EpisodeFile>.CreateNew()
|
||||
.With(f => f.SeriesId = fakeSeries.OID)
|
||||
.With(f => f.SeriesId = fakeSeries.Id)
|
||||
.Build();
|
||||
|
||||
Mocker.GetMock<DiskScanProvider>().Setup(s => s.ImportFile(fakeSeries, file)).Returns(fakeEpisodeFile);
|
||||
|
@ -138,11 +138,11 @@ public void UpdateDailySeries_should_update_series_should_skip_series_that_dont_
|
||||
.All()
|
||||
.With(s => s.SeriesType = SeriesType.Standard)
|
||||
.TheFirst(1)
|
||||
.With(s => s.OID = 10)
|
||||
.With(s => s.Id = 10)
|
||||
.TheNext(1)
|
||||
.With(s => s.OID = 11)
|
||||
.With(s => s.Id = 11)
|
||||
.TheNext(1)
|
||||
.With(s => s.OID = 12)
|
||||
.With(s => s.Id = 12)
|
||||
.Build();
|
||||
|
||||
Db.InsertMany(fakeSeries);
|
||||
@ -170,12 +170,12 @@ public void UpdateDailySeries_should_update_series_should_not_overwrite_existing
|
||||
.All()
|
||||
.With(s => s.SeriesType = SeriesType.Standard)
|
||||
.TheFirst(1)
|
||||
.With(s => s.OID = 10)
|
||||
.With(s => s.Id = 10)
|
||||
.With(s => s.SeriesType = SeriesType.Daily)
|
||||
.TheNext(1)
|
||||
.With(s => s.OID = 11)
|
||||
.With(s => s.Id = 11)
|
||||
.TheNext(1)
|
||||
.With(s => s.OID = 12)
|
||||
.With(s => s.Id = 12)
|
||||
.Build();
|
||||
|
||||
Db.InsertMany(fakeSeries);
|
||||
|
@ -33,7 +33,7 @@ public void Setup()
|
||||
|
||||
_episode = Builder<Episode>
|
||||
.CreateNew()
|
||||
.With(e => e.SeriesId = _series.OID)
|
||||
.With(e => e.SeriesId = _series.Id)
|
||||
.With(e => e.Series = _series)
|
||||
.Build();
|
||||
|
||||
|
@ -33,7 +33,7 @@ public void Setup()
|
||||
|
||||
_episode = Builder<Episode>
|
||||
.CreateNew()
|
||||
.With(e => e.SeriesId = _series.OID)
|
||||
.With(e => e.SeriesId = _series.Id)
|
||||
.With(e => e.Series = _series)
|
||||
.Build();
|
||||
|
||||
|
@ -29,7 +29,7 @@ public void Setup()
|
||||
private void WithSceneMapping()
|
||||
{
|
||||
Mocker.GetMock<SceneMappingProvider>()
|
||||
.Setup(s => s.GetSceneName(_series.OID, -1))
|
||||
.Setup(s => s.GetSceneName(_series.Id, -1))
|
||||
.Returns("Hawaii Five 0 2010");
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ public void should_return_scene_mapping_when_one_exists()
|
||||
public void should_return_season_scene_name_when_one_exists()
|
||||
{
|
||||
Mocker.GetMock<SceneMappingProvider>()
|
||||
.Setup(s => s.GetSceneName(_series.OID, 5))
|
||||
.Setup(s => s.GetSceneName(_series.Id, 5))
|
||||
.Returns("Hawaii Five 0 2010 - Season 5");
|
||||
|
||||
Mocker.Resolve<TestSearch>().GetSearchTitle(_series, 5)
|
||||
@ -86,7 +86,7 @@ public void should_replace_some_special_characters(string input, string expected
|
||||
_series.Title = input;
|
||||
|
||||
Mocker.GetMock<SceneMappingProvider>()
|
||||
.Setup(s => s.GetSceneName(_series.OID, -1))
|
||||
.Setup(s => s.GetSceneName(_series.Id, -1))
|
||||
.Returns("");
|
||||
|
||||
Mocker.Resolve<TestSearch>().GetSearchTitle(_series, 5)
|
||||
|
@ -34,7 +34,7 @@ public void Setup()
|
||||
_episodes = Builder<Episode>
|
||||
.CreateListOfSize(10)
|
||||
.All()
|
||||
.With(e => e.SeriesId = _series.OID)
|
||||
.With(e => e.SeriesId = _series.Id)
|
||||
.With(e => e.Series = _series)
|
||||
.Build()
|
||||
.ToList();
|
||||
|
@ -36,14 +36,14 @@ public void Setup()
|
||||
|
||||
_episode = Builder<Episode>
|
||||
.CreateNew()
|
||||
.With(e => e.SeriesId = _series.OID)
|
||||
.With(e => e.SeriesId = _series.Id)
|
||||
.With(e => e.Series = _series)
|
||||
.Build();
|
||||
|
||||
_episodes = Builder<Episode>
|
||||
.CreateListOfSize(10)
|
||||
.All()
|
||||
.With(e => e.SeriesId = _series.OID)
|
||||
.With(e => e.SeriesId = _series.Id)
|
||||
.With(e => e.Series = _series)
|
||||
.Build()
|
||||
.ToList();
|
||||
|
@ -36,12 +36,12 @@ public class ProcessResultsFixture : TestBase
|
||||
public void Setup()
|
||||
{
|
||||
_matchingSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 79488)
|
||||
.With(s => s.Id = 79488)
|
||||
.With(s => s.Title = "30 Rock")
|
||||
.Build();
|
||||
|
||||
_mismatchedSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 12345)
|
||||
.With(s => s.Id = 12345)
|
||||
.With(s => s.Title = "Not 30 Rock")
|
||||
.Build();
|
||||
|
||||
|
@ -49,7 +49,7 @@ public void successful_search(string title)
|
||||
var result = tvDbProvider.SearchSeries(title);
|
||||
|
||||
result.Should().NotBeEmpty();
|
||||
result[0].SeriesName.Should().Be(title);
|
||||
result[0].Title.Should().Be(title);
|
||||
}
|
||||
|
||||
|
||||
|
@ -46,11 +46,11 @@ public void Setup()
|
||||
.Build();
|
||||
|
||||
Mocker.GetMock<IEpisodeService>()
|
||||
.Setup(s => s.GetEpisode(_series.OID, 1, 1))
|
||||
.Setup(s => s.GetEpisode(_series.Id, 1, 1))
|
||||
.Returns(_episode);
|
||||
|
||||
Mocker.GetMock<SceneMappingProvider>()
|
||||
.Setup(s => s.GetCleanName(_series.OID))
|
||||
.Setup(s => s.GetCleanName(_series.Id))
|
||||
.Returns("");
|
||||
|
||||
Mocker.GetMock<TvRageProvider>()
|
||||
|
@ -43,7 +43,7 @@ public void Setup()
|
||||
.Build();
|
||||
|
||||
series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 1)
|
||||
.With(s => s.Id = 1)
|
||||
.And(c => c.Monitored = true)
|
||||
.Build();
|
||||
|
||||
@ -71,7 +71,7 @@ public void Get_UpcomingEpisodes()
|
||||
|
||||
//Assert
|
||||
result.Should().HaveCount(5);
|
||||
result.Should().OnlyContain(c => c.Series != null && c.SeriesId == series.OID);
|
||||
result.Should().OnlyContain(c => c.Series != null && c.SeriesId == series.Id);
|
||||
}
|
||||
|
||||
[Test]
|
||||
|
@ -465,7 +465,7 @@ public void UpdateWithHttp_Single()
|
||||
var url = "http://localhost:8080/xbmcCmds/xbmcHttp?command=ExecBuiltIn(UpdateLibrary(video,smb://xbmc:xbmc@HOMESERVER/TV/30 Rock/))";
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 79488)
|
||||
.With(s => s.Id = 79488)
|
||||
.With(s => s.Title = "30 Rock")
|
||||
.Build();
|
||||
|
||||
@ -491,7 +491,7 @@ public void UpdateWithHttp_All()
|
||||
var url = "http://localhost:8080/xbmcCmds/xbmcHttp?command=ExecBuiltIn(UpdateLibrary(video))";
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 79488)
|
||||
.With(s => s.Id = 79488)
|
||||
.With(s => s.Title = "30 Rock")
|
||||
.Build();
|
||||
|
||||
@ -519,7 +519,7 @@ public void UpdateWithJsonBuiltIn_Single()
|
||||
var tvshows = "{\"id\":10,\"jsonrpc\":\"2.0\",\"result\":{\"limits\":{\"end\":5,\"start\":0,\"total\":5},\"tvshows\":[{\"file\":\"smb://HOMESERVER/TV/7th Heaven/\",\"imdbnumber\":\"73928\",\"label\":\"7th Heaven\",\"tvshowid\":3},{\"file\":\"smb://HOMESERVER/TV/8 Simple Rules/\",\"imdbnumber\":\"78461\",\"label\":\"8 Simple Rules\",\"tvshowid\":4},{\"file\":\"smb://HOMESERVER/TV/24-7 Penguins-Capitals- Road to the NHL Winter Classic/\",\"imdbnumber\":\"213041\",\"label\":\"24/7 Penguins/Capitals: Road to the NHL Winter Classic\",\"tvshowid\":1},{\"file\":\"smb://HOMESERVER/TV/30 Rock/\",\"imdbnumber\":\"79488\",\"label\":\"30 Rock\",\"tvshowid\":2},{\"file\":\"smb://HOMESERVER/TV/90210/\",\"imdbnumber\":\"82716\",\"label\":\"90210\",\"tvshowid\":5}]}}";
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 79488)
|
||||
.With(s => s.Id = 79488)
|
||||
.With(s => s.Title = "30 Rock")
|
||||
.Build();
|
||||
|
||||
@ -552,7 +552,7 @@ public void UpdateWithJsonBuiltIn_All()
|
||||
var tvshows = "{\"id\":10,\"jsonrpc\":\"2.0\",\"result\":{\"limits\":{\"end\":5,\"start\":0,\"total\":5},\"tvshows\":[{\"file\":\"smb://HOMESERVER/TV/7th Heaven/\",\"imdbnumber\":\"73928\",\"label\":\"7th Heaven\",\"tvshowid\":3},{\"file\":\"smb://HOMESERVER/TV/8 Simple Rules/\",\"imdbnumber\":\"78461\",\"label\":\"8 Simple Rules\",\"tvshowid\":4},{\"file\":\"smb://HOMESERVER/TV/24-7 Penguins-Capitals- Road to the NHL Winter Classic/\",\"imdbnumber\":\"213041\",\"label\":\"24/7 Penguins/Capitals: Road to the NHL Winter Classic\",\"tvshowid\":1},{\"file\":\"smb://HOMESERVER/TV/90210/\",\"imdbnumber\":\"82716\",\"label\":\"90210\",\"tvshowid\":5}]}}";
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 79488)
|
||||
.With(s => s.Id = 79488)
|
||||
.With(s => s.Title = "30 Rock")
|
||||
.Build();
|
||||
|
||||
@ -585,7 +585,7 @@ public void UpdateWithJsonVideoLibraryScan_Single()
|
||||
var tvshows = "{\"id\":10,\"jsonrpc\":\"2.0\",\"result\":{\"limits\":{\"end\":5,\"start\":0,\"total\":5},\"tvshows\":[{\"file\":\"smb://HOMESERVER/TV/7th Heaven/\",\"imdbnumber\":\"73928\",\"label\":\"7th Heaven\",\"tvshowid\":3},{\"file\":\"smb://HOMESERVER/TV/8 Simple Rules/\",\"imdbnumber\":\"78461\",\"label\":\"8 Simple Rules\",\"tvshowid\":4},{\"file\":\"smb://HOMESERVER/TV/24-7 Penguins-Capitals- Road to the NHL Winter Classic/\",\"imdbnumber\":\"213041\",\"label\":\"24/7 Penguins/Capitals: Road to the NHL Winter Classic\",\"tvshowid\":1},{\"file\":\"smb://HOMESERVER/TV/30 Rock/\",\"imdbnumber\":\"79488\",\"label\":\"30 Rock\",\"tvshowid\":2},{\"file\":\"smb://HOMESERVER/TV/90210/\",\"imdbnumber\":\"82716\",\"label\":\"90210\",\"tvshowid\":5}]}}";
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 79488)
|
||||
.With(s => s.Id = 79488)
|
||||
.With(s => s.Title = "30 Rock")
|
||||
.Build();
|
||||
|
||||
@ -617,7 +617,7 @@ public void UpdateWithJsonVideoLibraryScan_All()
|
||||
var tvshows = "{\"id\":10,\"jsonrpc\":\"2.0\",\"result\":{\"limits\":{\"end\":5,\"start\":0,\"total\":5},\"tvshows\":[{\"file\":\"smb://HOMESERVER/TV/7th Heaven/\",\"imdbnumber\":\"73928\",\"label\":\"7th Heaven\",\"tvshowid\":3},{\"file\":\"smb://HOMESERVER/TV/8 Simple Rules/\",\"imdbnumber\":\"78461\",\"label\":\"8 Simple Rules\",\"tvshowid\":4},{\"file\":\"smb://HOMESERVER/TV/24-7 Penguins-Capitals- Road to the NHL Winter Classic/\",\"imdbnumber\":\"213041\",\"label\":\"24/7 Penguins/Capitals: Road to the NHL Winter Classic\",\"tvshowid\":1},{\"file\":\"smb://HOMESERVER/TV/90210/\",\"imdbnumber\":\"82716\",\"label\":\"90210\",\"tvshowid\":5}]}}";
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 79488)
|
||||
.With(s => s.Id = 79488)
|
||||
.With(s => s.Title = "30 Rock")
|
||||
.Build();
|
||||
|
||||
|
@ -24,7 +24,7 @@ public void should_return_one_drive_when_only_one_root_dir_exists()
|
||||
{
|
||||
Mocker.GetMock<IBasicRepository<RootFolder>>()
|
||||
.Setup(s => s.All())
|
||||
.Returns(new List<RootFolder> { new RootFolder { OID = 1, Path = @"C:\Test\TV" } });
|
||||
.Returns(new List<RootFolder> { new RootFolder { Id = 1, Path = @"C:\Test\TV" } });
|
||||
|
||||
Mocker.GetMock<DiskProvider>()
|
||||
.Setup(s => s.GetPathRoot(@"C:\Test\TV"))
|
||||
@ -44,8 +44,8 @@ public void should_return_one_drive_when_two_rootDirs_on_the_same_drive_exist()
|
||||
{
|
||||
Mocker.GetMock<IBasicRepository<RootFolder>>()
|
||||
.Setup(s => s.All())
|
||||
.Returns(new List<RootFolder> { new RootFolder { OID = 1, Path = @"C:\Test\TV" },
|
||||
new RootFolder { OID = 2, Path = @"C:\Test\TV2" }});
|
||||
.Returns(new List<RootFolder> { new RootFolder { Id = 1, Path = @"C:\Test\TV" },
|
||||
new RootFolder { Id = 2, Path = @"C:\Test\TV2" }});
|
||||
|
||||
Mocker.GetMock<DiskProvider>()
|
||||
.Setup(s => s.GetPathRoot(It.IsAny<String>()))
|
||||
@ -65,8 +65,8 @@ public void should_return_two_drives_when_two_rootDirs_on_the_different_drive_ex
|
||||
{
|
||||
Mocker.GetMock<IBasicRepository<RootFolder>>()
|
||||
.Setup(s => s.All())
|
||||
.Returns(new List<RootFolder> { new RootFolder { OID = 1, Path = @"C:\Test\TV" },
|
||||
new RootFolder { OID = 2, Path = @"D:\Test\TV" }});
|
||||
.Returns(new List<RootFolder> { new RootFolder { Id = 1, Path = @"C:\Test\TV" },
|
||||
new RootFolder { Id = 2, Path = @"D:\Test\TV" }});
|
||||
|
||||
Mocker.GetMock<DiskProvider>()
|
||||
.Setup(s => s.GetPathRoot(@"C:\Test\TV"))
|
||||
@ -90,7 +90,7 @@ public void should_skip_rootDir_if_not_found_on_disk()
|
||||
{
|
||||
Mocker.GetMock<IBasicRepository<RootFolder>>()
|
||||
.Setup(s => s.All())
|
||||
.Returns(new List<RootFolder> { new RootFolder { OID = 1, Path = @"C:\Test\TV" } });
|
||||
.Returns(new List<RootFolder> { new RootFolder { Id = 1, Path = @"C:\Test\TV" } });
|
||||
|
||||
Mocker.GetMock<DiskProvider>()
|
||||
.Setup(s => s.GetPathRoot(@"C:\Test\TV"))
|
||||
|
@ -90,7 +90,7 @@ public void GetUnmappedFolders_throw_on_empty_folders()
|
||||
public void invalid_folder_path_throws_on_add(string path)
|
||||
{
|
||||
Assert.Throws<ArgumentException>(() =>
|
||||
Mocker.Resolve<RootFolderService>().Add(new RootFolder { OID = 0, Path = path })
|
||||
Mocker.Resolve<RootFolderService>().Add(new RootFolder { Id = 0, Path = path })
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ public void GetEpisodes_by_season_episode_exists()
|
||||
WithRealDb();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 1)
|
||||
.With(s => s.Id = 1)
|
||||
.Build();
|
||||
var fakeEpisodes = Builder<Episode>.CreateNew()
|
||||
.With(e => e.SeriesId = 1)
|
||||
@ -61,7 +61,7 @@ public void GetEpisodes_by_season_episode_exists()
|
||||
Db.Insert(fakeEpisodes);
|
||||
|
||||
//Act
|
||||
var episode = Mocker.Resolve<EpisodeService>().GetEpisode(fakeSeries.OID, 2, 1);
|
||||
var episode = Mocker.Resolve<EpisodeService>().GetEpisode(fakeSeries.Id, 2, 1);
|
||||
|
||||
//Assert
|
||||
episode.ShouldHave().AllPropertiesBut(e => e.Series).EqualTo(fakeEpisodes);
|
||||
@ -128,7 +128,7 @@ public void GetEpisodesBySeason_success()
|
||||
WithRealDb();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 12)
|
||||
.With(s => s.Id = 12)
|
||||
.Build();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(10)
|
||||
@ -162,7 +162,7 @@ public void RefreshEpisodeInfo_emptyRepo()
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
|
||||
@ -196,7 +196,7 @@ public void RefreshEpisodeInfo_should_set_older_than_1900_to_null()
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
|
||||
@ -237,7 +237,7 @@ public void RefreshEpisodeInfo_should_set_older_than_1900_to_null_for_existing_e
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
Db.Insert(fakeSeries);
|
||||
@ -274,7 +274,7 @@ public void RefreshEpisodeInfo_ignore_episode_zero()
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
|
||||
@ -313,7 +313,7 @@ public void RefreshEpisodeInfo_should_skip_future_episodes_with_no_title()
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
|
||||
@ -351,7 +351,7 @@ public void RefreshEpisodeInfo_should_skip_older_than_1900_year_episodes_with_no
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
|
||||
@ -384,7 +384,7 @@ public void RefreshEpisodeInfo_should_add_future_episodes_with_title()
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
|
||||
@ -417,7 +417,7 @@ public void RefreshEpisodeInfo_should_add_old_episodes_with_no_title()
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
|
||||
@ -452,7 +452,7 @@ public void RefreshEpisodeInfo_ignore_season_zero()
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
|
||||
@ -484,7 +484,7 @@ public void new_episodes_only_calls_Insert()
|
||||
.With(c => c.Episodes = new List<TvdbEpisode>(Builder<TvdbEpisode>.CreateListOfSize(5).Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
var currentEpisodes = new List<Episode>();
|
||||
|
||||
@ -515,7 +515,7 @@ public void existing_episodes_only_calls_Update()
|
||||
.With(c => c.Episodes = new List<TvdbEpisode>(Builder<TvdbEpisode>.CreateListOfSize(5).Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
var currentEpisodes = new List<Episode>();
|
||||
foreach (var tvDbEpisode in tvdbSeries.Episodes)
|
||||
@ -553,7 +553,7 @@ public void should_try_to_get_existing_episode_using_tvdbid_first()
|
||||
)
|
||||
.Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
var fakeEpisodeList = new List<Episode> { new Episode { TvDbEpisodeId = 99, SeasonNumber = 10, EpisodeNumber = 10, Series = fakeSeries } };
|
||||
|
||||
Mocker.GetMock<IDatabase>()
|
||||
@ -595,7 +595,7 @@ public void should_try_to_get_existing_episode_using_tvdbid_first_then_season_ep
|
||||
.Build();
|
||||
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
Mocker.GetMock<TvDbProvider>(MockBehavior.Strict)
|
||||
.Setup(c => c.GetSeries(seriesId, true, false))
|
||||
@ -621,7 +621,7 @@ public void existing_episodes_keep_their_episodeId_file_id()
|
||||
.With(c => c.Episodes = new List<TvdbEpisode>(Builder<TvdbEpisode>.CreateListOfSize(5).Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
var currentEpisodes = new List<Episode>();
|
||||
foreach (var tvDbEpisode in tvdbSeries.Episodes)
|
||||
@ -629,7 +629,7 @@ public void existing_episodes_keep_their_episodeId_file_id()
|
||||
currentEpisodes.Add(new Episode
|
||||
{
|
||||
TvDbEpisodeId = tvDbEpisode.Id,
|
||||
OID = 99,
|
||||
Id = 99,
|
||||
EpisodeFile = new EpisodeFile { EpisodeFileId = 69 },
|
||||
Ignored = true,
|
||||
Series = fakeSeries,
|
||||
@ -657,7 +657,7 @@ public void existing_episodes_keep_their_episodeId_file_id()
|
||||
|
||||
//Assert
|
||||
updatedEpisodes.Should().HaveSameCount(tvdbSeries.Episodes);
|
||||
updatedEpisodes.Should().OnlyContain(c => c.OID == 99);
|
||||
updatedEpisodes.Should().OnlyContain(c => c.Id == 99);
|
||||
updatedEpisodes.Should().OnlyContain(c => c.EpisodeFileId == 69);
|
||||
updatedEpisodes.Should().OnlyContain(c => c.Ignored == true);
|
||||
}
|
||||
@ -670,7 +670,7 @@ public void existing_episodes_remote_their_episodeId_file_id_when_episode_number
|
||||
.With(c => c.Episodes = new List<TvdbEpisode>(Builder<TvdbEpisode>.CreateListOfSize(5).Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
var currentEpisodes = new List<Episode>();
|
||||
foreach (var tvDbEpisode in tvdbSeries.Episodes)
|
||||
@ -678,7 +678,7 @@ public void existing_episodes_remote_their_episodeId_file_id_when_episode_number
|
||||
currentEpisodes.Add(new Episode
|
||||
{
|
||||
TvDbEpisodeId = tvDbEpisode.Id,
|
||||
OID = 99,
|
||||
Id = 99,
|
||||
EpisodeFile = new EpisodeFile { EpisodeFileId = 69 },
|
||||
Ignored = true,
|
||||
Series = fakeSeries,
|
||||
@ -716,7 +716,7 @@ public void existing_episodes_remote_their_episodeId_file_id_when_season_number_
|
||||
.With(c => c.Episodes = new List<TvdbEpisode>(Builder<TvdbEpisode>.CreateListOfSize(5).Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
var currentEpisodes = new List<Episode>();
|
||||
foreach (var tvDbEpisode in tvdbSeries.Episodes)
|
||||
@ -724,7 +724,7 @@ public void existing_episodes_remote_their_episodeId_file_id_when_season_number_
|
||||
currentEpisodes.Add(new Episode
|
||||
{
|
||||
TvDbEpisodeId = tvDbEpisode.Id,
|
||||
OID = 99,
|
||||
Id = 99,
|
||||
EpisodeFile = new EpisodeFile { EpisodeFileId = 69 },
|
||||
Ignored = true,
|
||||
Series = fakeSeries,
|
||||
@ -784,7 +784,7 @@ public void RefreshEpisodeInfo_should_ignore_new_episode_for_ignored_season()
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
|
||||
@ -1121,7 +1121,7 @@ public void EpisodesWithoutFiles_no_specials()
|
||||
WithRealDb();
|
||||
|
||||
var series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 10)
|
||||
.With(s => s.Id = 10)
|
||||
.Build();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(4)
|
||||
@ -1164,7 +1164,7 @@ public void EpisodesWithoutFiles_with_specials()
|
||||
WithRealDb();
|
||||
|
||||
var series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 10)
|
||||
.With(s => s.Id = 10)
|
||||
.Build();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(4)
|
||||
@ -1208,7 +1208,7 @@ public void EpisodesWithFiles_success()
|
||||
WithRealDb();
|
||||
|
||||
var series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 10)
|
||||
.With(s => s.Id = 10)
|
||||
.Build();
|
||||
|
||||
var episodeFile = Builder<EpisodeFile>.CreateNew()
|
||||
@ -1252,7 +1252,7 @@ public void EpisodesWithFiles_no_files()
|
||||
WithRealDb();
|
||||
|
||||
var series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 10)
|
||||
.With(s => s.Id = 10)
|
||||
.Build();
|
||||
|
||||
var episodes = Builder<Episode>.CreateListOfSize(2)
|
||||
@ -1281,7 +1281,7 @@ public void GetEpisodesByFileId_multi_episodes()
|
||||
WithRealDb();
|
||||
|
||||
var series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 10)
|
||||
.With(s => s.Id = 10)
|
||||
.Build();
|
||||
|
||||
var fakeEpisodes = Builder<Episode>.CreateListOfSize(2)
|
||||
@ -1308,7 +1308,7 @@ public void GetEpisodesByFileId_single_episode()
|
||||
WithRealDb();
|
||||
|
||||
var series = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 10)
|
||||
.With(s => s.Id = 10)
|
||||
.Build();
|
||||
|
||||
var fakeEpisode = Builder<Episode>.CreateNew()
|
||||
@ -1400,7 +1400,7 @@ public void SetPostDownloadStatus(string folderName, PostDownloadStatusType post
|
||||
WithRealDb();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 12345)
|
||||
.With(s => s.Id = 12345)
|
||||
.With(s => s.CleanTitle = "officeus")
|
||||
.Build();
|
||||
|
||||
@ -1417,7 +1417,7 @@ public void SetPostDownloadStatus(string folderName, PostDownloadStatusType post
|
||||
Mocker.GetMock<ISeriesRepository>().Setup(s => s.GetByTitle("officeus")).Returns(fakeSeries);
|
||||
|
||||
//Act
|
||||
Mocker.Resolve<EpisodeService>().SetPostDownloadStatus(fakeEpisodes.Select(e => e.OID).ToList(), postDownloadStatus);
|
||||
Mocker.Resolve<EpisodeService>().SetPostDownloadStatus(fakeEpisodes.Select(e => e.Id).ToList(), postDownloadStatus);
|
||||
|
||||
//Assert
|
||||
var result = Db.Fetch<Episode>();
|
||||
@ -1432,7 +1432,7 @@ public void SetPostDownloadStatus_Invalid_EpisodeId()
|
||||
var postDownloadStatus = PostDownloadStatusType.Failed;
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew()
|
||||
.With(s => s.OID = 12345)
|
||||
.With(s => s.Id = 12345)
|
||||
.With(s => s.CleanTitle = "officeus")
|
||||
.Build();
|
||||
|
||||
@ -1489,7 +1489,7 @@ public void RefreshEpisodeInfo_should_ignore_episode_zero_except_if_season_one()
|
||||
.Build())
|
||||
).With(c => c.Id = seriesId).Build();
|
||||
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.OID = seriesId).Build();
|
||||
var fakeSeries = Builder<Series>.CreateNew().With(c => c.Id = seriesId).Build();
|
||||
|
||||
WithRealDb();
|
||||
|
||||
|
@ -36,19 +36,19 @@ public void Setup()
|
||||
.Build();
|
||||
|
||||
fakeEpisode = Builder<Episode>.CreateNew()
|
||||
.With(e => e.SeriesId = fakeSeries.OID)
|
||||
.With(e => e.SeriesId = fakeSeries.Id)
|
||||
.With(e => e.Title = "Episode (1)")
|
||||
.Build();
|
||||
|
||||
fakeEpisode2 = Builder<Episode>.CreateNew()
|
||||
.With(e => e.SeriesId = fakeSeries.OID)
|
||||
.With(e => e.SeriesId = fakeSeries.Id)
|
||||
.With(e => e.SeasonNumber = fakeEpisode.SeasonNumber)
|
||||
.With(e => e.EpisodeNumber = fakeEpisode.EpisodeNumber + 1)
|
||||
.With(e => e.Title = "Episode (2)")
|
||||
.Build();
|
||||
|
||||
fakeDailyEpisode = Builder<Episode>.CreateNew()
|
||||
.With(e => e.SeriesId = fakeSeries.OID)
|
||||
.With(e => e.SeriesId = fakeSeries.Id)
|
||||
.With(e => e.AirDate = DateTime.Now.Date)
|
||||
.With(e => e.Title = "Daily Episode 1")
|
||||
.Build();
|
||||
|
@ -32,7 +32,7 @@ public void WithNullSceneNumbering()
|
||||
{
|
||||
_episode = Builder<Episode>
|
||||
.CreateNew()
|
||||
.With(e => e.SeriesId = _series.OID)
|
||||
.With(e => e.SeriesId = _series.Id)
|
||||
.Build();
|
||||
|
||||
Db.Insert(_episode);
|
||||
@ -43,7 +43,7 @@ public void WithSceneNumbering()
|
||||
{
|
||||
_episode = Builder<Episode>
|
||||
.CreateNew()
|
||||
.With(e => e.SeriesId = _series.OID)
|
||||
.With(e => e.SeriesId = _series.Id)
|
||||
.Build();
|
||||
|
||||
Db.Insert(_episode);
|
||||
@ -52,14 +52,14 @@ public void WithSceneNumbering()
|
||||
[Test]
|
||||
public void should_return_null_if_no_episodes_in_db()
|
||||
{
|
||||
Mocker.Resolve<EpisodeService>().GetEpisodeBySceneNumbering(_series.OID, 1, 1).Should().BeNull();
|
||||
Mocker.Resolve<EpisodeService>().GetEpisodeBySceneNumbering(_series.Id, 1, 1).Should().BeNull();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_return_null_if_no_matching_episode_is_found()
|
||||
{
|
||||
WithNullSceneNumbering();
|
||||
Mocker.Resolve<EpisodeService>().GetEpisodeBySceneNumbering(_series.OID, 1, 1).Should().BeNull();
|
||||
Mocker.Resolve<EpisodeService>().GetEpisodeBySceneNumbering(_series.Id, 1, 1).Should().BeNull();
|
||||
}
|
||||
|
||||
[Test]
|
||||
@ -68,9 +68,9 @@ public void should_return_episode_if_matching_episode_is_found()
|
||||
WithSceneNumbering();
|
||||
|
||||
var result = Mocker.Resolve<EpisodeService>()
|
||||
.GetEpisodeBySceneNumbering(_series.OID, _episode.SceneSeasonNumber, _episode.SceneEpisodeNumber);
|
||||
.GetEpisodeBySceneNumbering(_series.Id, _episode.SceneSeasonNumber, _episode.SceneEpisodeNumber);
|
||||
|
||||
result.OID.Should().Be(_episode.OID);
|
||||
result.Id.Should().Be(_episode.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ public void SetIgnore_should_update_ignored_status(bool ignoreFlag)
|
||||
var fakeEpisodes = Builder<Episode>.CreateListOfSize(4)
|
||||
.All()
|
||||
.With(c => c.SeriesId = fakeSeason.SeriesId)
|
||||
.With(c => c.SeasonNumber = fakeSeason.OID)
|
||||
.With(c => c.SeasonNumber = fakeSeason.Id)
|
||||
.With(c => c.Ignored = !ignoreFlag)
|
||||
.Build().ToList();
|
||||
|
||||
|
Binary file not shown.
@ -40,7 +40,7 @@ public int Count()
|
||||
|
||||
public TModel Get(int id)
|
||||
{
|
||||
return Queryable.Single(c => c.OID == id);
|
||||
return Queryable.Single(c => c.Id == id);
|
||||
}
|
||||
|
||||
public TModel Insert(TModel model)
|
||||
@ -65,7 +65,7 @@ public IList<TModel> UpdateMany(IList<TModel> model)
|
||||
|
||||
public TModel Upsert(TModel model)
|
||||
{
|
||||
if (model.OID == 0)
|
||||
if (model.Id == 0)
|
||||
{
|
||||
return ObjectDatabase.Insert(model);
|
||||
}
|
||||
@ -88,7 +88,7 @@ public void DeleteMany(IEnumerable<int> ids)
|
||||
|
||||
public void Purge()
|
||||
{
|
||||
DeleteMany(Queryable.Select(c => c.OID));
|
||||
DeleteMany(Queryable.Select(c => c.Id));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,11 +4,19 @@
|
||||
|
||||
namespace NzbDrone.Core.Datastore
|
||||
{
|
||||
[DebuggerDisplay("ID = {OID}")]
|
||||
[DebuggerDisplay("{GetType()} ID = {Id}")]
|
||||
public abstract class ModelBase
|
||||
{
|
||||
[PetaPoco.Ignore]
|
||||
|
||||
[JsonIgnore]
|
||||
public int Id
|
||||
{
|
||||
get { return OID; }
|
||||
set { OID = value; }
|
||||
}
|
||||
|
||||
[JsonProperty(PropertyName = "id")]
|
||||
public int OID { get; set; }
|
||||
private int OID { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ public Season MapIt(Season season, Episode episode, EpisodeFile episodeFile)
|
||||
episode.EpisodeFile = (episode.EpisodeFileId == 0 ? null : episodeFile);
|
||||
|
||||
// Is this the same season as the current one we're processing
|
||||
if (_current != null && _current.OID == season.OID)
|
||||
if (_current != null && _current.Id == season.Id)
|
||||
{
|
||||
// Yes, just add this post to the current author's collection of posts
|
||||
_current.Episodes.Add(episode);
|
||||
|
@ -37,7 +37,7 @@ public IEnumerable<T> AsQueryable<T>()
|
||||
|
||||
public T Insert<T>(T obj) where T : ModelBase
|
||||
{
|
||||
if (obj.OID != 0)
|
||||
if (obj.Id != 0)
|
||||
{
|
||||
throw new InvalidOperationException("Attempted to insert object with existing ID as new object");
|
||||
}
|
||||
@ -48,7 +48,7 @@ public T Insert<T>(T obj) where T : ModelBase
|
||||
|
||||
public T Update<T>(T obj) where T : ModelBase
|
||||
{
|
||||
if (obj.OID == 0)
|
||||
if (obj.Id == 0)
|
||||
{
|
||||
throw new InvalidOperationException("Attempted to update object without an ID");
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ public virtual bool IsSatisfiedBy(EpisodeParseResult subject)
|
||||
//Check if there was only one episode parsed
|
||||
//and it is the first or last episode of the season
|
||||
if (subject.EpisodeNumbers != null && subject.EpisodeNumbers.Count == 1 &&
|
||||
_episodeService.IsFirstOrLastEpisodeOfSeason(series.OID,
|
||||
_episodeService.IsFirstOrLastEpisodeOfSeason(series.Id,
|
||||
subject.SeasonNumber, subject.EpisodeNumbers[0]))
|
||||
{
|
||||
maxSize = maxSize * 2;
|
||||
|
@ -27,7 +27,7 @@ public virtual bool IsSatisfiedBy(EpisodeParseResult subject)
|
||||
{
|
||||
foreach (var episode in subject.Episodes)
|
||||
{
|
||||
var bestQualityInHistory = _historyService.GetBestQualityInHistory(subject.Series.OID, episode.SeasonNumber, episode.EpisodeNumber);
|
||||
var bestQualityInHistory = _historyService.GetBestQualityInHistory(subject.Series.Id, episode.SeasonNumber, episode.EpisodeNumber);
|
||||
if (bestQualityInHistory != null)
|
||||
{
|
||||
logger.Trace("Comparing history quality with report. History is {0}", bestQualityInHistory);
|
||||
|
@ -20,14 +20,14 @@ public HistoryRepository(IObjectDatabase objectDatabase)
|
||||
|
||||
public void Trim()
|
||||
{
|
||||
var oldIds = Queryable.Where(c => c.Date < DateTime.Now.AddDays(-30).Date).Select(c => c.OID);
|
||||
var oldIds = Queryable.Where(c => c.Date < DateTime.Now.AddDays(-30).Date).Select(c => c.Id);
|
||||
DeleteMany(oldIds);
|
||||
}
|
||||
|
||||
|
||||
public QualityModel GetBestQualityInHistory(int seriesId, int seasonNumber, int episodeNumber)
|
||||
{
|
||||
var history = Queryable.OrderByDescending(c => c.Quality).FirstOrDefault(c => c.Episode.Series.OID == seriesId && c.Episode.SeasonNumber == seasonNumber &&
|
||||
var history = Queryable.OrderByDescending(c => c.Quality).FirstOrDefault(c => c.Episode.Series.Id == seriesId && c.Episode.SeasonNumber == seasonNumber &&
|
||||
c.Episode.EpisodeNumber == episodeNumber);
|
||||
|
||||
if (history != null)
|
||||
|
@ -92,7 +92,7 @@ public void Init()
|
||||
|
||||
_logger.Debug("Deleting broken Newznab indexer");
|
||||
var brokenIndexers = currentIndexers.Where(i => String.IsNullOrEmpty(i.Name) || String.IsNullOrWhiteSpace(i.Url)).ToList();
|
||||
brokenIndexers.ForEach(e => Delete(e.OID));
|
||||
brokenIndexers.ForEach(e => Delete(e.Id));
|
||||
|
||||
currentIndexers = All();
|
||||
|
||||
|
@ -18,7 +18,7 @@ public LogRepository(IObjectDatabase objectDatabase)
|
||||
|
||||
public void Trim()
|
||||
{
|
||||
var oldIds = Queryable.Where(c => c.Time < DateTime.Now.AddDays(-30).Date).Select(c => c.OID);
|
||||
var oldIds = Queryable.Where(c => c.Time < DateTime.Now.AddDays(-30).Date).Select(c => c.Id);
|
||||
DeleteMany(oldIds);
|
||||
}
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ public void Start(ProgressNotification notification, dynamic options)
|
||||
//Process the list of remaining episodes, 1 by 1
|
||||
foreach (var episode in individualEpisodes)
|
||||
{
|
||||
_episodeSearchJob.Start(notification, new { EpisodeId = episode.OID});
|
||||
_episodeSearchJob.Start(notification, new { EpisodeId = episode.Id});
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -66,7 +66,7 @@ public void Start(ProgressNotification notification, dynamic options)
|
||||
|
||||
private void ScanSeries(ProgressNotification notification)
|
||||
{
|
||||
var syncList = _seriesRepository.All().Where(s => s.LastInfoSync == null && !_attemptedSeries.Contains(s.OID)).ToList();
|
||||
var syncList = _seriesRepository.All().Where(s => s.LastInfoSync == null && !_attemptedSeries.Contains(s.Id)).ToList();
|
||||
if (syncList.Count == 0)
|
||||
{
|
||||
return;
|
||||
@ -76,20 +76,20 @@ private void ScanSeries(ProgressNotification notification)
|
||||
{
|
||||
try
|
||||
{
|
||||
_attemptedSeries.Add(((ModelBase)currentSeries).OID);
|
||||
_attemptedSeries.Add(((ModelBase)currentSeries).Id);
|
||||
notification.CurrentMessage = String.Format("Searching for '{0}'", new DirectoryInfo(currentSeries.Path).Name);
|
||||
|
||||
_updateInfoJob.Start(notification, new { SeriesId = ((ModelBase)currentSeries).OID });
|
||||
_diskScanJob.Start(notification, new { SeriesId = ((ModelBase)currentSeries).OID });
|
||||
_updateInfoJob.Start(notification, new { SeriesId = ((ModelBase)currentSeries).Id });
|
||||
_diskScanJob.Start(notification, new { SeriesId = ((ModelBase)currentSeries).Id });
|
||||
|
||||
var updatedSeries = _seriesRepository.Get(((ModelBase)currentSeries).OID);
|
||||
AutoIgnoreSeasons(((ModelBase)updatedSeries).OID);
|
||||
var updatedSeries = _seriesRepository.Get(((ModelBase)currentSeries).Id);
|
||||
AutoIgnoreSeasons(((ModelBase)updatedSeries).Id);
|
||||
|
||||
//Download the banner for the new series
|
||||
_bannerDownloadJob.Start(notification, new { SeriesId = ((ModelBase)updatedSeries).OID });
|
||||
_bannerDownloadJob.Start(notification, new { SeriesId = ((ModelBase)updatedSeries).Id });
|
||||
|
||||
//Get Scene Numbering if applicable
|
||||
_xemUpdateJob.Start(notification, new { SeriesId = ((ModelBase)updatedSeries).OID });
|
||||
_xemUpdateJob.Start(notification, new { SeriesId = ((ModelBase)updatedSeries).Id });
|
||||
|
||||
notification.CurrentMessage = String.Format("{0} was successfully imported", updatedSeries.Title);
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ public void Init()
|
||||
if (_jobs.All(c => c.GetType().ToString() != currentJob.TypeName))
|
||||
{
|
||||
_logger.Debug("Removing job from database '{0}'", currentJob.Name);
|
||||
Delete(currentJob.OID);
|
||||
Delete(currentJob.Id);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ public void Start(ProgressNotification notification, dynamic options)
|
||||
Logger.Debug("Processing missing episodes from the past week, count: {0}", missingEpisodes.Count);
|
||||
foreach (var episode in missingEpisodes)
|
||||
{
|
||||
_episodeSearchJob.Start(notification, new { EpisodeId = episode.OID });
|
||||
_episodeSearchJob.Start(notification, new { EpisodeId = episode.Id });
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ public void Start(ProgressNotification notification, dynamic options)
|
||||
Logger.Debug("Processing missing episodes from the last 30 days, count: {0}", missingEpisodes.Count);
|
||||
foreach (var episode in missingEpisodes)
|
||||
{
|
||||
_episodeSearchJob.Start(notification, new { EpisodeId = episode.OID });
|
||||
_episodeSearchJob.Start(notification, new { EpisodeId = episode.Id });
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -58,12 +58,12 @@ private void RefreshMetadata(ProgressNotification notification, Series series)
|
||||
{
|
||||
notification.CurrentMessage = String.Format("Refreshing episode metadata for '{0}'", series.Title);
|
||||
|
||||
Logger.Debug("Getting episodes from database for series: {0}", series.OID);
|
||||
var episodeFiles = _mediaFileProvider.GetSeriesFiles(series.OID);
|
||||
Logger.Debug("Getting episodes from database for series: {0}", series.Id);
|
||||
var episodeFiles = _mediaFileProvider.GetSeriesFiles(series.Id);
|
||||
|
||||
if (episodeFiles == null || episodeFiles.Count == 0)
|
||||
{
|
||||
Logger.Warn("No episodes in database found for series: {0}", series.OID);
|
||||
Logger.Warn("No episodes in database found for series: {0}", series.Id);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -58,12 +58,12 @@ public void Start(ProgressNotification notification, dynamic options)
|
||||
{
|
||||
notification.CurrentMessage = String.Format("Renaming episodes for '{0}'", series.Title);
|
||||
|
||||
Logger.Debug("Getting episodes from database for series: {0}", series.OID);
|
||||
var episodeFiles = _mediaFileProvider.GetSeriesFiles(series.OID);
|
||||
Logger.Debug("Getting episodes from database for series: {0}", series.Id);
|
||||
var episodeFiles = _mediaFileProvider.GetSeriesFiles(series.Id);
|
||||
|
||||
if (episodeFiles == null || episodeFiles.Count == 0)
|
||||
{
|
||||
Logger.Warn("No episodes in database found for series: {0}", series.OID);
|
||||
Logger.Warn("No episodes in database found for series: {0}", series.Id);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -68,11 +68,11 @@ public virtual void Start(ProgressNotification notification, dynamic options)
|
||||
if (episodes.Count == successes.Count)
|
||||
return;
|
||||
|
||||
var missingEpisodes = episodes.Select(e => e.OID).Except(successes).ToList();
|
||||
var missingEpisodes = episodes.Select(e => e.Id).Except(successes).ToList();
|
||||
|
||||
foreach (var episode in episodes.Where(e => !e.Ignored && missingEpisodes.Contains(e.OID)).OrderBy(o => o.EpisodeNumber))
|
||||
foreach (var episode in episodes.Where(e => !e.Ignored && missingEpisodes.Contains(e.Id)).OrderBy(o => o.EpisodeNumber))
|
||||
{
|
||||
_episodeSearchJob.Start(notification, new { EpisodeId = episode.OID });
|
||||
_episodeSearchJob.Start(notification, new { EpisodeId = episode.Id });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ public virtual void Start(ProgressNotification notification, dynamic options)
|
||||
try
|
||||
{
|
||||
notification.CurrentMessage = "Updating " + series.Title;
|
||||
_seriesService.UpdateSeriesInfo(series.OID);
|
||||
_seriesService.UpdateSeriesInfo(series.Id);
|
||||
_episodeService.RefreshEpisodeInfo(series);
|
||||
notification.CurrentMessage = "Update completed for " + series.Title;
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ public virtual bool Download(Series series)
|
||||
logger.Trace("Ensuring Banner Folder exists: ", bannerPath);
|
||||
_diskProvider.CreateDirectory(bannerPath);
|
||||
|
||||
var bannerFilename = Path.Combine(bannerPath, series.OID.ToString()) + ".jpg";
|
||||
var bannerFilename = Path.Combine(bannerPath, series.Id.ToString()) + ".jpg";
|
||||
|
||||
logger.Trace("Downloading banner for '{0}'", series.Title);
|
||||
|
||||
|
@ -70,13 +70,13 @@ public virtual List<EpisodeFile> Scan(Series series, string path)
|
||||
return new List<EpisodeFile>();
|
||||
}
|
||||
|
||||
if (_episodeService.GetEpisodeBySeries(series.OID).Count == 0)
|
||||
if (_episodeService.GetEpisodeBySeries(series.Id).Count == 0)
|
||||
{
|
||||
Logger.Debug("Series {0} has no episodes. skipping", series.Title);
|
||||
return new List<EpisodeFile>();
|
||||
}
|
||||
|
||||
var seriesFile = _mediaFileProvider.GetSeriesFiles(series.OID);
|
||||
var seriesFile = _mediaFileProvider.GetSeriesFiles(series.Id);
|
||||
CleanUp(seriesFile);
|
||||
|
||||
var mediaFileList = GetVideoFiles(path);
|
||||
@ -158,7 +158,7 @@ public virtual EpisodeFile ImportFile(Series series, string filePath)
|
||||
|
||||
var episodeFile = new EpisodeFile();
|
||||
episodeFile.DateAdded = DateTime.Now;
|
||||
episodeFile.SeriesId = series.OID;
|
||||
episodeFile.SeriesId = series.Id;
|
||||
episodeFile.Path = filePath.NormalizePath();
|
||||
episodeFile.Size = size;
|
||||
episodeFile.Quality = parseResult.Quality.Quality;
|
||||
@ -236,7 +236,7 @@ public virtual EpisodeFile MoveEpisodeFile(EpisodeFile episodeFile, bool newDown
|
||||
_eventAggregator.Publish(new EpisodeDownloadedEvent(parseResult));
|
||||
|
||||
foreach (var episode in episodes)
|
||||
_signalRProvider.UpdateEpisodeStatus(episode.OID, EpisodeStatusType.Ready, parseResult.Quality);
|
||||
_signalRProvider.UpdateEpisodeStatus(episode.Id, EpisodeStatusType.Ready, parseResult.Quality);
|
||||
}
|
||||
|
||||
return episodeFile;
|
||||
@ -259,7 +259,7 @@ public virtual void CleanUp(IList<EpisodeFile> files)
|
||||
//Set the EpisodeFileId for each episode attached to this file to 0
|
||||
foreach (var episode in _episodeService.GetEpisodesByFileId(episodeFile.EpisodeFileId))
|
||||
{
|
||||
Logger.Trace("Detaching episode {0} from file.", episode.OID);
|
||||
Logger.Trace("Detaching episode {0} from file.", episode.Id);
|
||||
episode.EpisodeFile = null;
|
||||
episode.Ignored = _configService.AutoIgnorePreviouslyDownloadedEpisodes;
|
||||
episode.GrabDate = null;
|
||||
|
@ -32,7 +32,7 @@ public override string Name
|
||||
public override void CreateForSeries(Series series, TvdbSeries tvDbSeries)
|
||||
{
|
||||
//Create tvshow.nfo, fanart.jpg, folder.jpg and season##.tbn
|
||||
var episodeGuideUrl = GetEpisodeGuideUrl(series.OID);
|
||||
var episodeGuideUrl = GetEpisodeGuideUrl(series.Id);
|
||||
|
||||
_logger.Debug("Generating tvshow.nfo for: {0}", series.Title);
|
||||
var sb = new StringBuilder();
|
||||
|
@ -91,7 +91,7 @@ private void Initialize(IList<MetadataBase> metabaseProviders)
|
||||
|
||||
public virtual void CreateForSeries(Series series)
|
||||
{
|
||||
var tvDbSeries = _tvDbProvider.GetSeries(series.OID, false, true);
|
||||
var tvDbSeries = _tvDbProvider.GetSeries(series.TvDbId, false, true);
|
||||
|
||||
CreateForSeries(series, tvDbSeries);
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ public virtual List<Int32> Search(Series series, dynamic options, ProgressNotifi
|
||||
var searchResult = new SearchHistory
|
||||
{
|
||||
SearchTime = DateTime.Now,
|
||||
SeriesId = series.OID,
|
||||
SeriesId = series.Id,
|
||||
EpisodeId = options.GetType().GetProperty("Episode") != null ? options.Episode.EpisodeId : null,
|
||||
SeasonNumber = options.GetType().GetProperty("SeasonNumber") != null ? options.SeasonNumber : null
|
||||
};
|
||||
@ -106,7 +106,7 @@ public virtual SearchHistory ProcessReports(Series series, dynamic options, List
|
||||
logger.Trace("Analysing report " + episodeParseResult);
|
||||
episodeParseResult.Series = _seriesRepository.GetByTitle(episodeParseResult.CleanTitle);
|
||||
|
||||
if(episodeParseResult.Series == null || ((ModelBase)episodeParseResult.Series).OID != series.OID)
|
||||
if(episodeParseResult.Series == null || ((ModelBase)episodeParseResult.Series).Id != series.Id)
|
||||
{
|
||||
item.SearchError = ReportRejectionType.WrongSeries;
|
||||
continue;
|
||||
@ -114,7 +114,7 @@ public virtual SearchHistory ProcessReports(Series series, dynamic options, List
|
||||
|
||||
episodeParseResult.Episodes = _episodeService.GetEpisodesByParseResult(episodeParseResult);
|
||||
|
||||
if (searchResult.Successes.Intersect(episodeParseResult.Episodes.Select(e => e.OID)).Any())
|
||||
if (searchResult.Successes.Intersect(episodeParseResult.Episodes.Select(e => e.Id)).Any())
|
||||
{
|
||||
item.SearchError = ReportRejectionType.Skipped;
|
||||
continue;
|
||||
@ -129,7 +129,7 @@ public virtual SearchHistory ProcessReports(Series series, dynamic options, List
|
||||
if(item.SearchError == ReportRejectionType.None)
|
||||
{
|
||||
if(DownloadReport(notification, episodeParseResult, item))
|
||||
searchResult.Successes.AddRange(episodeParseResult.Episodes.Select(e => e.OID));
|
||||
searchResult.Successes.AddRange(episodeParseResult.Episodes.Select(e => e.Id));
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
@ -168,12 +168,12 @@ public virtual Boolean DownloadReport(ProgressNotification notification, Episode
|
||||
|
||||
public virtual string GetSearchTitle(Series series, int seasonNumber = -1)
|
||||
{
|
||||
var seasonTitle = _sceneMappingProvider.GetSceneName(series.OID, seasonNumber);
|
||||
var seasonTitle = _sceneMappingProvider.GetSceneName(series.Id, seasonNumber);
|
||||
|
||||
if(!String.IsNullOrWhiteSpace(seasonTitle))
|
||||
return seasonTitle;
|
||||
|
||||
var title = _sceneMappingProvider.GetSceneName(series.OID);
|
||||
var title = _sceneMappingProvider.GetSceneName(series.Id);
|
||||
|
||||
if (String.IsNullOrWhiteSpace(title))
|
||||
{
|
||||
|
@ -42,7 +42,7 @@ public void Handle(EpisodeGrabbedEvent message)
|
||||
{
|
||||
foreach (var episode in message.ParseResult.Episodes)
|
||||
{
|
||||
UpdateEpisodeStatus(episode.OID, EpisodeStatusType.Downloading, message.ParseResult.Quality);
|
||||
UpdateEpisodeStatus(episode.Id, EpisodeStatusType.Downloading, message.ParseResult.Quality);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@
|
||||
using NLog;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Core.Tv;
|
||||
using NzbDrone.Core.Tvdb;
|
||||
using TvdbLib;
|
||||
using TvdbLib.Cache;
|
||||
using TvdbLib.Data;
|
||||
@ -36,7 +35,7 @@ public TvDbProvider()
|
||||
|
||||
}
|
||||
|
||||
public virtual List<TvdbSeriesSearchItem> SearchSeries(string title)
|
||||
public virtual List<Series> SearchSeries(string title)
|
||||
{
|
||||
logger.Debug("Searching TVDB for '{0}'", title);
|
||||
|
||||
@ -45,18 +44,24 @@ public virtual List<TvdbSeriesSearchItem> SearchSeries(string title)
|
||||
title = title.Replace(" & ", " ");
|
||||
}
|
||||
|
||||
var result = _handlerV2.SearchSeries(title);
|
||||
var searchResult = _handlerV2.SearchSeries(title).Select(tvdbSeriesSearchItem => new Series
|
||||
{
|
||||
TvDbId = tvdbSeriesSearchItem.seriesid,
|
||||
Title = tvdbSeriesSearchItem.SeriesName,
|
||||
FirstAired = tvdbSeriesSearchItem.FirstAired,
|
||||
Overview = tvdbSeriesSearchItem.Overview
|
||||
}).ToList();
|
||||
|
||||
logger.Debug("Search for '{0}' returned {1} possible results", title, result.Count);
|
||||
return result;
|
||||
logger.Debug("Search for '{0}' returned {1} possible results", title, searchResult.Count);
|
||||
return searchResult;
|
||||
}
|
||||
|
||||
public virtual TvdbSeries GetSeries(int id, bool loadEpisodes, bool loadActors = false)
|
||||
public virtual TvdbSeries GetSeries(int tvDbSeriesId, bool loadEpisodes, bool loadActors = false)
|
||||
{
|
||||
lock (_handler)
|
||||
{
|
||||
logger.Debug("Fetching SeriesId'{0}' from tvdb", id);
|
||||
var result = _handler.GetSeries(id, TvdbLanguage.DefaultLanguage, loadEpisodes, loadActors, true, true);
|
||||
logger.Debug("Fetching SeriesId'{0}' from tvdb", tvDbSeriesId);
|
||||
var result = _handler.GetSeries(tvDbSeriesId, TvdbLanguage.DefaultLanguage, loadEpisodes, loadActors, true, true);
|
||||
|
||||
//Remove duplicated episodes
|
||||
var episodes = result.Episodes.OrderByDescending(e => e.FirstAired).ThenByDescending(e => e.EpisodeName)
|
||||
|
@ -32,9 +32,9 @@ public TvRageMappingProvider()
|
||||
|
||||
public Series FindMatchingTvRageSeries(Series series)
|
||||
{
|
||||
var firstEpisode = _episodeService.GetEpisode(series.OID, 1, 1);
|
||||
var firstEpisode = _episodeService.GetEpisode(series.Id, 1, 1);
|
||||
|
||||
var cleanName = _sceneMappingProvider.GetCleanName(series.OID);
|
||||
var cleanName = _sceneMappingProvider.GetCleanName(series.Id);
|
||||
var results = _tvRageProvider.SearchSeries(series.Title);
|
||||
var result = ProcessResults(results, series, cleanName, firstEpisode);
|
||||
|
||||
|
@ -138,7 +138,7 @@ public virtual bool UpdateWithJsonExecBuiltIn(Series series, string host, string
|
||||
Logger.Trace("Failed to get TV Shows from XBMC");
|
||||
|
||||
else
|
||||
path = xbmcShows.FirstOrDefault(s => s.ImdbNumber == series.OID || s.Label == series.Title);
|
||||
path = xbmcShows.FirstOrDefault(s => s.ImdbNumber == series.Id || s.Label == series.Title);
|
||||
|
||||
//var hostOnly = GetHostWithoutPort(host);
|
||||
|
||||
@ -179,7 +179,7 @@ public virtual bool UpdateWithJsonVideoLibraryScan(Series series, string host, s
|
||||
Logger.Trace("Failed to get TV Shows from XBMC");
|
||||
|
||||
else
|
||||
path = xbmcShows.FirstOrDefault(s => s.ImdbNumber == series.OID || s.Label == series.Title);
|
||||
path = xbmcShows.FirstOrDefault(s => s.ImdbNumber == series.Id || s.Label == series.Title);
|
||||
|
||||
var postJson = new JObject();
|
||||
postJson.Add(new JProperty("jsonrpc", "2.0"));
|
||||
@ -221,7 +221,7 @@ public virtual bool UpdateWithHttp(Series series, string host, string username,
|
||||
try
|
||||
{
|
||||
Logger.Trace("Sending Update DB Request to XBMC Host: {0}", host);
|
||||
var xbmcSeriesPath = GetXbmcSeriesPath(host, series.OID, username, password);
|
||||
var xbmcSeriesPath = GetXbmcSeriesPath(host, series.Id, username, password);
|
||||
|
||||
//If the path is found update it, else update the whole library
|
||||
if (!String.IsNullOrEmpty(xbmcSeriesPath))
|
||||
|
@ -38,7 +38,7 @@ public virtual void UpdateMappings()
|
||||
{
|
||||
var ids = _xemCommunicationProvider.GetXemSeriesIds();
|
||||
var series = _seriesRepository.All();
|
||||
var wantedSeries = series.Where(s => ids.Contains(s.OID)).ToList();
|
||||
var wantedSeries = series.Where(s => ids.Contains(s.Id)).ToList();
|
||||
|
||||
foreach(var ser in wantedSeries)
|
||||
{
|
||||
@ -82,7 +82,7 @@ public virtual void PerformUpdate(Series series)
|
||||
try
|
||||
{
|
||||
var episodesToUpdate = new List<Episode>();
|
||||
var mappings = _xemCommunicationProvider.GetSceneTvdbMappings(series.OID);
|
||||
var mappings = _xemCommunicationProvider.GetSceneTvdbMappings(series.Id);
|
||||
|
||||
if (mappings == null)
|
||||
{
|
||||
@ -90,7 +90,7 @@ public virtual void PerformUpdate(Series series)
|
||||
return;
|
||||
}
|
||||
|
||||
var episodes = _episodeService.GetEpisodeBySeries(series.OID);
|
||||
var episodes = _episodeService.GetEpisodeBySeries(series.Id);
|
||||
|
||||
foreach (var mapping in mappings)
|
||||
{
|
||||
|
@ -94,7 +94,7 @@ public virtual IList<Episode> GetEpisodesByParseResult(EpisodeParseResult parseR
|
||||
return new List<Episode>();
|
||||
}
|
||||
|
||||
var episodeInfo = GetEpisode(((ModelBase)parseResult.Series).OID, parseResult.AirDate.Value);
|
||||
var episodeInfo = GetEpisode(((ModelBase)parseResult.Series).Id, parseResult.AirDate.Value);
|
||||
|
||||
if (episodeInfo != null)
|
||||
{
|
||||
@ -116,14 +116,14 @@ public virtual IList<Episode> GetEpisodesByParseResult(EpisodeParseResult parseR
|
||||
Episode episodeInfo = null;
|
||||
|
||||
if (parseResult.SceneSource && parseResult.Series.UseSceneNumbering)
|
||||
episodeInfo = GetEpisodeBySceneNumbering(((ModelBase)parseResult.Series).OID, parseResult.SeasonNumber, episodeNumber);
|
||||
episodeInfo = GetEpisodeBySceneNumbering(((ModelBase)parseResult.Series).Id, parseResult.SeasonNumber, episodeNumber);
|
||||
|
||||
if (episodeInfo == null)
|
||||
{
|
||||
episodeInfo = GetEpisode(((ModelBase)parseResult.Series).OID, parseResult.SeasonNumber, episodeNumber);
|
||||
episodeInfo = GetEpisode(((ModelBase)parseResult.Series).Id, parseResult.SeasonNumber, episodeNumber);
|
||||
if (episodeInfo == null && parseResult.AirDate != null)
|
||||
{
|
||||
episodeInfo = GetEpisode(((ModelBase)parseResult.Series).OID, parseResult.AirDate.Value);
|
||||
episodeInfo = GetEpisode(((ModelBase)parseResult.Series).Id, parseResult.AirDate.Value);
|
||||
}
|
||||
}
|
||||
|
||||
@ -176,14 +176,14 @@ public virtual IList<Episode> EpisodesWithFiles()
|
||||
|
||||
public virtual void RefreshEpisodeInfo(Series series)
|
||||
{
|
||||
logger.Trace("Starting episode info refresh for series: {0}", series.Title.WithDefault(series.OID));
|
||||
logger.Trace("Starting episode info refresh for series: {0}", series.Title.WithDefault(series.Id));
|
||||
var successCount = 0;
|
||||
var failCount = 0;
|
||||
|
||||
var tvdbEpisodes = _tvDbProvider.GetEpisodes(series.OID);
|
||||
var tvdbEpisodes = _tvDbProvider.GetEpisodes(series.TvDbId);
|
||||
|
||||
|
||||
var seriesEpisodes = GetEpisodeBySeries(series.OID);
|
||||
var seriesEpisodes = GetEpisodeBySeries(series.Id);
|
||||
var updateList = new List<Episode>();
|
||||
var newList = new List<Episode>();
|
||||
|
||||
@ -214,7 +214,7 @@ public virtual void RefreshEpisodeInfo(Series series)
|
||||
}
|
||||
else
|
||||
{
|
||||
episodeToUpdate.Ignored = _seasonRepository.IsIgnored(series.OID, episode.SeasonNumber);
|
||||
episodeToUpdate.Ignored = _seasonRepository.IsIgnored(series.Id, episode.SeasonNumber);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -230,7 +230,7 @@ public virtual void RefreshEpisodeInfo(Series series)
|
||||
episodeToUpdate.EpisodeFile = null;
|
||||
}
|
||||
|
||||
episodeToUpdate.SeriesId = series.OID;
|
||||
episodeToUpdate.SeriesId = series.Id;
|
||||
episodeToUpdate.Series = series;
|
||||
episodeToUpdate.TvDbEpisodeId = episode.TvDbEpisodeId;
|
||||
episodeToUpdate.EpisodeNumber = episode.EpisodeNumber;
|
||||
@ -273,7 +273,7 @@ public virtual void UpdateEpisode(Episode episode)
|
||||
|
||||
public virtual IList<int> GetEpisodeNumbersBySeason(int seriesId, int seasonNumber)
|
||||
{
|
||||
return GetEpisodesBySeason(seriesId, seasonNumber).Select(c => c.OID).ToList();
|
||||
return GetEpisodesBySeason(seriesId, seasonNumber).Select(c => c.Id).ToList();
|
||||
}
|
||||
|
||||
public virtual void SetEpisodeIgnore(int episodeId, bool isIgnored)
|
||||
@ -302,13 +302,13 @@ public virtual bool IsFirstOrLastEpisodeOfSeason(int seriesId, int seasonNumber,
|
||||
|
||||
private void DeleteEpisodesNotInTvdb(Series series, IEnumerable<Episode> tvdbEpisodes)
|
||||
{
|
||||
logger.Trace("Starting deletion of episodes that no longer exist in TVDB: {0}", series.Title.WithDefault(series.OID));
|
||||
logger.Trace("Starting deletion of episodes that no longer exist in TVDB: {0}", series.Title.WithDefault(series.Id));
|
||||
foreach (var episode in tvdbEpisodes)
|
||||
{
|
||||
_episodeRepository.Delete(episode.OID);
|
||||
_episodeRepository.Delete(episode.Id);
|
||||
}
|
||||
|
||||
logger.Trace("Deleted episodes that no longer exist in TVDB for {0}", series.OID);
|
||||
logger.Trace("Deleted episodes that no longer exist in TVDB for {0}", series.Id);
|
||||
}
|
||||
|
||||
public virtual void SetPostDownloadStatus(List<int> episodeIds, PostDownloadStatusType postDownloadStatus)
|
||||
@ -349,7 +349,7 @@ public void Handle(EpisodeGrabbedEvent message)
|
||||
{
|
||||
foreach (var episode in message.ParseResult.Episodes)
|
||||
{
|
||||
logger.Trace("Marking episode {0} as fetched.", episode.OID);
|
||||
logger.Trace("Marking episode {0} as fetched.", episode.Id);
|
||||
episode.GrabDate = DateTime.UtcNow;
|
||||
_episodeRepository.Update(episode);
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ public Season Get(int seriesId, int seasonNumber)
|
||||
|
||||
public bool IsIgnored(int seriesId, int seasonNumber)
|
||||
{
|
||||
var season = Queryable.SingleOrDefault(c => c.OID == seriesId && c.SeasonNumber == seasonNumber);
|
||||
var season = Queryable.SingleOrDefault(c => c.Id == seriesId && c.SeasonNumber == seasonNumber);
|
||||
|
||||
if(season == null) return false;
|
||||
|
||||
|
@ -59,7 +59,7 @@ public bool IsMonitored(int id)
|
||||
public Series UpdateSeriesInfo(int seriesId)
|
||||
{
|
||||
var series = _seriesRepository.Get(seriesId);
|
||||
var tvDbSeries = _tvDbProvider.GetSeries(series.OID, false, true);
|
||||
var tvDbSeries = _tvDbProvider.GetSeries(series.TvDbId, false, true);
|
||||
|
||||
series.Title = tvDbSeries.SeriesName;
|
||||
series.AirTime = CleanAirsTime(tvDbSeries.AirsTime);
|
||||
@ -146,7 +146,7 @@ public void UpdateFromSeriesEditor(IList<Series> editedSeries)
|
||||
foreach (var series in allSeries)
|
||||
{
|
||||
//Only update parameters that can be changed in MassEdit
|
||||
var edited = editedSeries.Single(s => ((ModelBase)s).OID == series.OID);
|
||||
var edited = editedSeries.Single(s => ((ModelBase)s).Id == series.Id);
|
||||
series.QualityProfileId = edited.QualityProfileId;
|
||||
series.Monitored = edited.Monitored;
|
||||
series.SeasonFolder = edited.SeasonFolder;
|
||||
|
Loading…
Reference in New Issue
Block a user