aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-12-02 11:16:03 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-12-02 11:16:03 -0500
commit317f41107091a4334b9133a21e570d627a2d808a (patch)
tree8691af2b055abb6ac42acfaa09afcd4e897213dd
parent44b2ec20938a657f31e09f49e540262cb21d2405 (diff)
Added IHasBudget
-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 48d292bbc2..90fe111292 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 25da18fcac..f5cdaa9880 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 0000000000..f697715c16
--- /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 eef348f61c..30babe2383 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 207f76efda..68ad4630a5 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 26814ad40b..7c14c9865d 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 9b89b12c50..e5fe6a04f7 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 14c83bed43..44138a5989 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 e4fe2a914d..b812c93247 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 5a49e4f36b..4c032c8e78 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 5333518753..b43449858e 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 d2dac65499..87a7325c63 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 e9d7912a16..6caa27ac39 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>