2
0
Эх сурвалжийг харах

Deserialize with the correct type (and warning fixes)

Bond_009 5 жил өмнө
parent
commit
846857b60e

+ 5 - 6
Emby.Server.Implementations/Data/SqliteItemRepository.cs

@@ -3,10 +3,8 @@ using System.Collections.Generic;
 using System.Globalization;
 using System.IO;
 using System.Linq;
-using System.Runtime.Serialization;
 using System.Text;
 using System.Text.Json;
-using System.Text.Json.Serialization;
 using System.Threading;
 using Emby.Server.Implementations.Playlists;
 using MediaBrowser.Common.Json;
@@ -28,7 +26,6 @@ using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.LiveTv;
 using MediaBrowser.Model.Querying;
-using MediaBrowser.Model.Serialization;
 using Microsoft.Extensions.Logging;
 using SQLitePCL.pretty;
 
@@ -659,12 +656,14 @@ namespace Emby.Server.Implementations.Data
 
         private void SaveItem(BaseItem item, BaseItem topParent, string userDataKey, IStatement saveItemStatement)
         {
+            Type type = item.GetType();
+
             saveItemStatement.TryBind("@guid", item.Id);
-            saveItemStatement.TryBind("@type", item.GetType().FullName);
+            saveItemStatement.TryBind("@type", type.FullName);
 
-            if (TypeRequiresDeserialization(item.GetType()))
+            if (TypeRequiresDeserialization(type))
             {
-                saveItemStatement.TryBind("@data", JsonSerializer.SerializeToUtf8Bytes(item, _jsonOptions));
+                saveItemStatement.TryBind("@data", JsonSerializer.SerializeToUtf8Bytes(item, type, _jsonOptions));
             }
             else
             {

+ 0 - 2
Emby.Server.Implementations/Library/LibraryManager.cs

@@ -2175,7 +2175,6 @@ namespace Emby.Server.Implementations.Library
                     DisplayParentId = parentId
                 };
 
-
                 CreateItem(item, null);
 
                 isNew = true;
@@ -2197,7 +2196,6 @@ namespace Emby.Server.Implementations.Library
                     {
                         // Need to force save to increment DateLastSaved
                         ForceSave = true
-
                     },
                     RefreshPriority.Normal);
             }

+ 3 - 0
MediaBrowser.Controller/Entities/ICollectionFolder.cs

@@ -8,8 +8,11 @@ namespace MediaBrowser.Controller.Entities
     public interface ICollectionFolder : IHasCollectionType
     {
         string Path { get; }
+
         string Name { get; }
+
         Guid Id { get; }
+
         string[] PhysicalLocations { get; }
     }
 

+ 9 - 7
MediaBrowser.Controller/Entities/UserView.cs

@@ -10,34 +10,36 @@ namespace MediaBrowser.Controller.Entities
 {
     public class UserView : Folder, IHasCollectionType
     {
+        /// <inheritdoc />
         public string ViewType { get; set; }
+
+        /// <inheritdoc />
         public new Guid DisplayParentId { get; set; }
 
+        /// <inheritdoc />
         public Guid? UserId { get; set; }
 
         public static ITVSeriesManager TVSeriesManager;
 
+        /// <inheritdoc />
         [JsonIgnore]
         public string CollectionType => ViewType;
 
+        /// <inheritdoc />
         public override IEnumerable<Guid> GetIdsForAncestorQuery()
         {
-            var list = new List<Guid>();
-
             if (!DisplayParentId.Equals(Guid.Empty))
             {
-                list.Add(DisplayParentId);
+                yield return DisplayParentId;
             }
             else if (!ParentId.Equals(Guid.Empty))
             {
-                list.Add(ParentId);
+                yield return ParentId;
             }
             else
             {
-                list.Add(Id);
+                yield return Id;
             }
-
-            return list;
         }
 
         [JsonIgnore]