mirror of https://github.com/jellyfin/jellyfin.git
Refactored the code to not use reflection.
This commit is contained in:
parent
faa036aa7b
commit
07db2025a1
|
@ -91,28 +91,39 @@ namespace Emby.Server.Implementations.Library
|
||||||
|
|
||||||
var userData = GetUserData(user, item);
|
var userData = GetUserData(user, item);
|
||||||
|
|
||||||
var parentProperties = userDataDto.GetType().GetProperties();
|
if (userDataDto.PlaybackPositionTicks.HasValue)
|
||||||
var childProperties = userData.GetType().GetProperties();
|
|
||||||
|
|
||||||
foreach (var parentProperty in parentProperties)
|
|
||||||
{
|
{
|
||||||
foreach (var childProperty in childProperties)
|
userData.PlaybackPositionTicks = userDataDto.PlaybackPositionTicks.Value;
|
||||||
{
|
}
|
||||||
if (parentProperty.Name != childProperty.Name)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
var value = parentProperty.GetValue(userDataDto, null);
|
if (userDataDto.PlayCount.HasValue)
|
||||||
|
{
|
||||||
|
userData.PlayCount = userDataDto.PlayCount.Value;
|
||||||
|
}
|
||||||
|
|
||||||
if (value is null)
|
if (userDataDto.IsFavorite.HasValue)
|
||||||
{
|
{
|
||||||
continue;
|
userData.IsFavorite = userDataDto.IsFavorite.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
childProperty.SetValue(userData, value, null);
|
if (userDataDto.Likes.HasValue)
|
||||||
break;
|
{
|
||||||
}
|
userData.Likes = userDataDto.Likes.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (userDataDto.Played.HasValue)
|
||||||
|
{
|
||||||
|
userData.Played = userDataDto.Played.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (userDataDto.LastPlayedDate.HasValue)
|
||||||
|
{
|
||||||
|
userData.LastPlayedDate = userDataDto.LastPlayedDate.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (userDataDto.Rating.HasValue)
|
||||||
|
{
|
||||||
|
userData.Rating = userDataDto.Rating.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
SaveUserData(user, item, userData, reason, CancellationToken.None);
|
SaveUserData(user, item, userData, reason, CancellationToken.None);
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
#nullable disable
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Model.Dto
|
namespace MediaBrowser.Model.Dto
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Reference in New Issue