aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Api/ItemUpdateService.cs8
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs12
-rw-r--r--MediaBrowser.Controller/Entities/IHasBudget.cs18
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs14
-rw-r--r--MediaBrowser.Controller/Entities/MusicVideo.cs14
-rw-r--r--MediaBrowser.Controller/Entities/Trailer.cs14
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs20
-rw-r--r--MediaBrowser.Providers/Movies/MovieDbProvider.cs8
-rw-r--r--MediaBrowser.Providers/Savers/XmlSaverHelpers.cs16
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs16
-rw-r--r--MediaBrowser.Server.Implementations/Sorting/BudgetComparer.cs7
-rw-r--r--MediaBrowser.Server.Implementations/Sorting/RevenueComparer.cs7
13 files changed, 116 insertions, 39 deletions
diff --git a/MediaBrowser.Api/ItemUpdateService.cs b/MediaBrowser.Api/ItemUpdateService.cs
index 48d292bbc..90fe11129 100644
--- a/MediaBrowser.Api/ItemUpdateService.cs
+++ b/MediaBrowser.Api/ItemUpdateService.cs
@@ -248,8 +248,12 @@ namespace MediaBrowser.Api
item.ForcedSortName = request.SortName;
}
- item.Budget = request.Budget;
- item.Revenue = request.Revenue;
+ var hasBudget = item as IHasBudget;
+ if (hasBudget != null)
+ {
+ hasBudget.Budget = request.Budget;
+ hasBudget.Revenue = request.Revenue;
+ }
var hasCriticRating = item as IHasCriticRating;
if (hasCriticRating != null)
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 25da18fca..f5cdaa988 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -87,24 +87,12 @@ namespace MediaBrowser.Controller.Entities
public Guid Id { get; set; }
/// <summary>
- /// Gets or sets the budget.
- /// </summary>
- /// <value>The budget.</value>
- public double? Budget { get; set; }
-
- /// <summary>
/// Gets or sets the taglines.
/// </summary>
/// <value>The taglines.</value>
public List<string> Taglines { get; set; }
/// <summary>
- /// Gets or sets the revenue.
- /// </summary>
- /// <value>The revenue.</value>
- public double? Revenue { get; set; }
-
- /// <summary>
/// Gets or sets the trailer URL.
/// </summary>
/// <value>The trailer URL.</value>
diff --git a/MediaBrowser.Controller/Entities/IHasBudget.cs b/MediaBrowser.Controller/Entities/IHasBudget.cs
new file mode 100644
index 000000000..f697715c1
--- /dev/null
+++ b/MediaBrowser.Controller/Entities/IHasBudget.cs
@@ -0,0 +1,18 @@
+
+namespace MediaBrowser.Controller.Entities
+{
+ public interface IHasBudget
+ {
+ /// <summary>
+ /// Gets or sets the budget.
+ /// </summary>
+ /// <value>The budget.</value>
+ double? Budget { get; set; }
+
+ /// <summary>
+ /// Gets or sets the revenue.
+ /// </summary>
+ /// <value>The revenue.</value>
+ double? Revenue { get; set; }
+ }
+}
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index eef348f61..30babe238 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -11,7 +11,7 @@ namespace MediaBrowser.Controller.Entities.Movies
/// <summary>
/// Class Movie
/// </summary>
- public class Movie : Video, IHasCriticRating, IHasSoundtracks
+ public class Movie : Video, IHasCriticRating, IHasSoundtracks, IHasBudget
{
public List<Guid> SpecialFeatureIds { get; set; }
@@ -24,6 +24,18 @@ namespace MediaBrowser.Controller.Entities.Movies
}
/// <summary>
+ /// Gets or sets the budget.
+ /// </summary>
+ /// <value>The budget.</value>
+ public double? Budget { get; set; }
+
+ /// <summary>
+ /// Gets or sets the revenue.
+ /// </summary>
+ /// <value>The revenue.</value>
+ public double? Revenue { get; set; }
+
+ /// <summary>
/// Gets or sets the critic rating.
/// </summary>
/// <value>The critic rating.</value>
diff --git a/MediaBrowser.Controller/Entities/MusicVideo.cs b/MediaBrowser.Controller/Entities/MusicVideo.cs
index 207f76efd..68ad4630a 100644
--- a/MediaBrowser.Controller/Entities/MusicVideo.cs
+++ b/MediaBrowser.Controller/Entities/MusicVideo.cs
@@ -4,7 +4,7 @@ using System;
namespace MediaBrowser.Controller.Entities
{
- public class MusicVideo : Video, IHasArtist, IHasMusicGenres
+ public class MusicVideo : Video, IHasArtist, IHasMusicGenres, IHasBudget
{
/// <summary>
/// Gets or sets the artist.
@@ -19,6 +19,18 @@ namespace MediaBrowser.Controller.Entities
public string Album { get; set; }
/// <summary>
+ /// Gets or sets the budget.
+ /// </summary>
+ /// <value>The budget.</value>
+ public double? Budget { get; set; }
+
+ /// <summary>
+ /// Gets or sets the revenue.
+ /// </summary>
+ /// <value>The revenue.</value>
+ public double? Revenue { get; set; }
+
+ /// <summary>
/// Determines whether the specified name has artist.
/// </summary>
/// <param name="name">The name.</param>
diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs
index 26814ad40..7c14c9865 100644
--- a/MediaBrowser.Controller/Entities/Trailer.cs
+++ b/MediaBrowser.Controller/Entities/Trailer.cs
@@ -8,7 +8,7 @@ namespace MediaBrowser.Controller.Entities
/// <summary>
/// Class Trailer
/// </summary>
- public class Trailer : Video, IHasCriticRating, IHasSoundtracks
+ public class Trailer : Video, IHasCriticRating, IHasSoundtracks, IHasBudget
{
public List<Guid> SoundtrackIds { get; set; }
@@ -20,6 +20,18 @@ namespace MediaBrowser.Controller.Entities
}
/// <summary>
+ /// Gets or sets the budget.
+ /// </summary>
+ /// <value>The budget.</value>
+ public double? Budget { get; set; }
+
+ /// <summary>
+ /// Gets or sets the revenue.
+ /// </summary>
+ /// <value>The revenue.</value>
+ public double? Revenue { get; set; }
+
+ /// <summary>
/// Gets or sets the critic rating.
/// </summary>
/// <value>The critic rating.</value>
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 9b89b12c5..e5fe6a04f 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -90,6 +90,7 @@
<Compile Include="Entities\GameSystem.cs" />
<Compile Include="Entities\IByReferenceItem.cs" />
<Compile Include="Entities\IHasAspectRatio.cs" />
+ <Compile Include="Entities\IHasBudget.cs" />
<Compile Include="Entities\IHasCriticRating.cs" />
<Compile Include="Entities\IHasSoundtracks.cs" />
<Compile Include="Entities\IItemByName.cs" />
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index 14c83bed4..44138a598 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -162,10 +162,14 @@ namespace MediaBrowser.Controller.Providers
case "Budget":
{
var text = reader.ReadElementContentAsString();
- double value;
- if (double.TryParse(text, NumberStyles.Any, _usCulture, out value))
+ var hasBudget = item as IHasBudget;
+ if (hasBudget != null)
{
- item.Budget = value;
+ double value;
+ if (double.TryParse(text, NumberStyles.Any, _usCulture, out value))
+ {
+ hasBudget.Budget = value;
+ }
}
break;
@@ -174,10 +178,14 @@ namespace MediaBrowser.Controller.Providers
case "Revenue":
{
var text = reader.ReadElementContentAsString();
- double value;
- if (double.TryParse(text, NumberStyles.Any, _usCulture, out value))
+ var hasBudget = item as IHasBudget;
+ if (hasBudget != null)
{
- item.Revenue = value;
+ double value;
+ if (double.TryParse(text, NumberStyles.Any, _usCulture, out value))
+ {
+ hasBudget.Revenue = value;
+ }
}
break;
diff --git a/MediaBrowser.Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Providers/Movies/MovieDbProvider.cs
index e4fe2a914..b812c9324 100644
--- a/MediaBrowser.Providers/Movies/MovieDbProvider.cs
+++ b/MediaBrowser.Providers/Movies/MovieDbProvider.cs
@@ -701,8 +701,12 @@ namespace MediaBrowser.Providers.Movies
}
movie.HomePageUrl = movieData.homepage;
- movie.Budget = movieData.budget;
- movie.Revenue = movieData.revenue;
+ var hasBudget = movie as IHasBudget;
+ if (hasBudget != null)
+ {
+ hasBudget.Budget = movieData.budget;
+ hasBudget.Revenue = movieData.revenue;
+ }
if (!string.IsNullOrEmpty(movieData.tagline))
{
diff --git a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
index 5a49e4f36..4c032c8e7 100644
--- a/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
+++ b/MediaBrowser.Providers/Savers/XmlSaverHelpers.cs
@@ -280,14 +280,18 @@ namespace MediaBrowser.Providers.Savers
builder.Append("</Trailers>");
}
- if (item.Budget.HasValue)
+ var hasBudget = item as IHasBudget;
+ if (hasBudget != null)
{
- builder.Append("<Budget>" + SecurityElement.Escape(item.Budget.Value.ToString(UsCulture)) + "</Budget>");
- }
+ if (hasBudget.Budget.HasValue)
+ {
+ builder.Append("<Budget>" + SecurityElement.Escape(hasBudget.Budget.Value.ToString(UsCulture)) + "</Budget>");
+ }
- if (item.Revenue.HasValue)
- {
- builder.Append("<Revenue>" + SecurityElement.Escape(item.Revenue.Value.ToString(UsCulture)) + "</Revenue>");
+ if (hasBudget.Revenue.HasValue)
+ {
+ builder.Append("<Revenue>" + SecurityElement.Escape(hasBudget.Revenue.Value.ToString(UsCulture)) + "</Revenue>");
+ }
}
if (item.CommunityRating.HasValue)
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index 533351875..b43449858 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -727,14 +727,18 @@ namespace MediaBrowser.Server.Implementations.Dto
dto.EnableInternetProviders = !item.DontFetchMeta;
}
- if (fields.Contains(ItemFields.Budget))
+ var hasBudget = item as IHasBudget;
+ if (hasBudget != null)
{
- dto.Budget = item.Budget;
- }
+ if (fields.Contains(ItemFields.Budget))
+ {
+ dto.Budget = hasBudget.Budget;
+ }
- if (fields.Contains(ItemFields.Revenue))
- {
- dto.Revenue = item.Revenue;
+ if (fields.Contains(ItemFields.Revenue))
+ {
+ dto.Revenue = hasBudget.Revenue;
+ }
}
dto.EndDate = item.EndDate;
diff --git a/MediaBrowser.Server.Implementations/Sorting/BudgetComparer.cs b/MediaBrowser.Server.Implementations/Sorting/BudgetComparer.cs
index d2dac6549..87a7325c6 100644
--- a/MediaBrowser.Server.Implementations/Sorting/BudgetComparer.cs
+++ b/MediaBrowser.Server.Implementations/Sorting/BudgetComparer.cs
@@ -19,7 +19,12 @@ namespace MediaBrowser.Server.Implementations.Sorting
private double GetValue(BaseItem x)
{
- return x.Budget ?? 0;
+ var hasBudget = x as IHasBudget;
+ if (hasBudget != null)
+ {
+ return hasBudget.Budget ?? 0;
+ }
+ return 0;
}
/// <summary>
diff --git a/MediaBrowser.Server.Implementations/Sorting/RevenueComparer.cs b/MediaBrowser.Server.Implementations/Sorting/RevenueComparer.cs
index e9d7912a1..6caa27ac3 100644
--- a/MediaBrowser.Server.Implementations/Sorting/RevenueComparer.cs
+++ b/MediaBrowser.Server.Implementations/Sorting/RevenueComparer.cs
@@ -19,7 +19,12 @@ namespace MediaBrowser.Server.Implementations.Sorting
private double GetValue(BaseItem x)
{
- return x.Revenue ?? 0;
+ var hasBudget = x as IHasBudget;
+ if (hasBudget != null)
+ {
+ return hasBudget.Revenue ?? 0;
+ }
+ return 0;
}
/// <summary>