aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-10 23:43:10 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-10 23:43:10 -0400
commit3a814a8b922c0720a7f7d4f686cecdb78af945be (patch)
treecd62c1883084e4b93cc268e390cad1191cc20585 /MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs
parent37c1c8626f9854e52c6987d2a99369fac6dea198 (diff)
take CriticReviews off of BaseItem and updated nuget
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs60
1 files changed, 60 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs b/MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs
index 9138baad0..a8108f56e 100644
--- a/MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs
+++ b/MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs
@@ -2,6 +2,7 @@ using System.Linq;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Persistence;
+using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Server.Implementations.Reflection;
@@ -321,5 +322,64 @@ namespace MediaBrowser.Server.Implementations.Sqlite
}
});
}
+
+ /// <summary>
+ /// Gets the critic reviews path.
+ /// </summary>
+ /// <value>The critic reviews path.</value>
+ private string CriticReviewsPath
+ {
+ get
+ {
+ var path = Path.Combine(_appPaths.DataPath, "critic-reviews");
+
+ if (!Directory.Exists(path))
+ {
+ Directory.CreateDirectory(path);
+ }
+
+ return path;
+ }
+ }
+
+ /// <summary>
+ /// Gets the critic reviews.
+ /// </summary>
+ /// <param name="itemId">The item id.</param>
+ /// <returns>Task{IEnumerable{ItemReview}}.</returns>
+ public Task<IEnumerable<ItemReview>> GetCriticReviews(Guid itemId)
+ {
+ return Task.Run<IEnumerable<ItemReview>>(() =>
+ {
+
+ try
+ {
+ var path = Path.Combine(CriticReviewsPath, itemId + ".json");
+
+ return _jsonSerializer.DeserializeFromFile<List<ItemReview>>(path);
+ }
+ catch (FileNotFoundException)
+ {
+ return new List<ItemReview>();
+ }
+
+ });
+ }
+
+ /// <summary>
+ /// Saves the critic reviews.
+ /// </summary>
+ /// <param name="itemId">The item id.</param>
+ /// <param name="criticReviews">The critic reviews.</param>
+ /// <returns>Task.</returns>
+ public Task SaveCriticReviews(Guid itemId, IEnumerable<ItemReview> criticReviews)
+ {
+ return Task.Run(() =>
+ {
+ var path = Path.Combine(CriticReviewsPath, itemId + ".json");
+
+ _jsonSerializer.SerializeToFile(criticReviews.ToList(), path);
+ });
+ }
}
}