From 3a814a8b922c0720a7f7d4f686cecdb78af945be Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 10 May 2013 23:43:10 -0400 Subject: take CriticReviews off of BaseItem and updated nuget --- .../Sqlite/SQLiteItemRepository.cs | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs') 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 } }); } + + /// + /// Gets the critic reviews path. + /// + /// The critic reviews path. + private string CriticReviewsPath + { + get + { + var path = Path.Combine(_appPaths.DataPath, "critic-reviews"); + + if (!Directory.Exists(path)) + { + Directory.CreateDirectory(path); + } + + return path; + } + } + + /// + /// Gets the critic reviews. + /// + /// The item id. + /// Task{IEnumerable{ItemReview}}. + public Task> GetCriticReviews(Guid itemId) + { + return Task.Run>(() => + { + + try + { + var path = Path.Combine(CriticReviewsPath, itemId + ".json"); + + return _jsonSerializer.DeserializeFromFile>(path); + } + catch (FileNotFoundException) + { + return new List(); + } + + }); + } + + /// + /// Saves the critic reviews. + /// + /// The item id. + /// The critic reviews. + /// Task. + public Task SaveCriticReviews(Guid itemId, IEnumerable criticReviews) + { + return Task.Run(() => + { + var path = Path.Combine(CriticReviewsPath, itemId + ".json"); + + _jsonSerializer.SerializeToFile(criticReviews.ToList(), path); + }); + } } } -- cgit v1.2.3