fixed series statistics query.
This commit is contained in:
parent
373a93be64
commit
4afec69c79
|
@ -1,16 +1,27 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using Marr.Data;
|
using Marr.Data;
|
||||||
using Marr.Data.Mapping;
|
using Marr.Data.Mapping;
|
||||||
|
using NzbDrone.Core.Tv;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Datastore
|
namespace NzbDrone.Core.Datastore
|
||||||
{
|
{
|
||||||
public static class MappingExtensions
|
public static class MappingExtensions
|
||||||
{
|
{
|
||||||
public static ColumnMapBuilder<T> RegisterModel<T>(this FluentMappings.MappingsFluentEntity<T> mapBuilder, string tableName) where T : ModelBase
|
|
||||||
|
public static ColumnMapBuilder<T> MapResultSet<T>(this FluentMappings.MappingsFluentEntity<T> mapBuilder) where T : ResultSet, new()
|
||||||
{
|
{
|
||||||
|
return mapBuilder
|
||||||
|
.Columns
|
||||||
|
.AutoMapPropertiesWhere(IsMappableProperty);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static ColumnMapBuilder<T> RegisterModel<T>(this FluentMappings.MappingsFluentEntity<T> mapBuilder, string tableName = null) where T : ModelBase, new()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return mapBuilder.Table.MapTable(tableName)
|
return mapBuilder.Table.MapTable(tableName)
|
||||||
.Columns
|
.Columns
|
||||||
.AutoMapPropertiesWhere(IsMappableProperty)
|
.AutoMapPropertiesWhere(IsMappableProperty)
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
namespace NzbDrone.Core.Datastore
|
||||||
|
{
|
||||||
|
public class ResultSet
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
|
@ -57,9 +57,7 @@ namespace NzbDrone.Core.Datastore
|
||||||
|
|
||||||
Mapper.Entity<Log>().RegisterModel("Logs");
|
Mapper.Entity<Log>().RegisterModel("Logs");
|
||||||
|
|
||||||
Mapper.Entity<SeriesStatistics>()
|
Mapper.Entity<SeriesStatistics>().MapResultSet();
|
||||||
.Columns
|
|
||||||
.AutoMapPropertiesWhere(MappingExtensions.IsMappableProperty);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -356,6 +356,7 @@
|
||||||
<Compile Include="Tv\Events\SeriesAddedEvent.cs" />
|
<Compile Include="Tv\Events\SeriesAddedEvent.cs" />
|
||||||
<Compile Include="Tv\Events\SeriesDeletedEvent.cs" />
|
<Compile Include="Tv\Events\SeriesDeletedEvent.cs" />
|
||||||
<Compile Include="Tv\Events\SeriesUpdatedEvent.cs" />
|
<Compile Include="Tv\Events\SeriesUpdatedEvent.cs" />
|
||||||
|
<Compile Include="Datastore\ResultSet.cs" />
|
||||||
<Compile Include="Tv\SeasonRepository.cs" />
|
<Compile Include="Tv\SeasonRepository.cs" />
|
||||||
<Compile Include="Tv\SeriesRepository.cs" />
|
<Compile Include="Tv\SeriesRepository.cs" />
|
||||||
<Compile Include="Tv\QualityModel.cs" />
|
<Compile Include="Tv\QualityModel.cs" />
|
||||||
|
|
|
@ -65,7 +65,7 @@ namespace NzbDrone.Core.Tv
|
||||||
SUM(CASE WHEN Airdate <= @currentDate THEN 1 ELSE 0 END) AS EpisodeCount,
|
SUM(CASE WHEN Airdate <= @currentDate THEN 1 ELSE 0 END) AS EpisodeCount,
|
||||||
SUM(CASE WHEN EpisodeFileId > 0 AND AirDate <= @currentDate THEN 1 ELSE 0 END) as EpisodeFileCount,
|
SUM(CASE WHEN EpisodeFileId > 0 AND AirDate <= @currentDate THEN 1 ELSE 0 END) as EpisodeFileCount,
|
||||||
MAX(SeasonNumber) as NumberOfSeasons,
|
MAX(SeasonNumber) as NumberOfSeasons,
|
||||||
MIN(CASE WHEN AirDate < @currentDate THEN NULL ELSE AirDate END) as NextAiring
|
MIN(CASE WHEN AirDate < @currentDate THEN NULL ELSE AirDate END) as NextAiringString
|
||||||
FROM Episodes
|
FROM Episodes
|
||||||
WHERE Ignored = 0
|
WHERE Ignored = 0
|
||||||
GROUP BY SeriesId";
|
GROUP BY SeriesId";
|
||||||
|
|
|
@ -1,12 +1,17 @@
|
||||||
using System;
|
using System;
|
||||||
|
using NzbDrone.Core.Datastore;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Tv
|
namespace NzbDrone.Core.Tv
|
||||||
{
|
{
|
||||||
public class SeriesStatistics
|
public class SeriesStatistics : ResultSet
|
||||||
{
|
{
|
||||||
public int SeriesId { get; set; }
|
public int SeriesId { get; set; }
|
||||||
public int NumberOfSeasons { get; set; }
|
public int NumberOfSeasons { get; set; }
|
||||||
public DateTime? NextAiring { get; set; }
|
public string NextAiringString { get; set; }
|
||||||
|
public DateTime? NextAiring
|
||||||
|
{
|
||||||
|
get { return Convert.ToDateTime(NextAiringString); }
|
||||||
|
}
|
||||||
public int EpisodeFileCount { get; set; }
|
public int EpisodeFileCount { get; set; }
|
||||||
public int EpisodeCount { get; set; }
|
public int EpisodeCount { get; set; }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue