diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-10 23:43:10 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-10 23:43:10 -0400 |
| commit | 3a814a8b922c0720a7f7d4f686cecdb78af945be (patch) | |
| tree | cd62c1883084e4b93cc268e390cad1191cc20585 /MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs | |
| parent | 37c1c8626f9854e52c6987d2a99369fac6dea198 (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.cs | 60 |
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); + }); + } } } |
