123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #nullable disable
- #pragma warning disable CA1002, CA2227, CS1591
- using System;
- using System.Collections.Generic;
- using System.Globalization;
- using MediaBrowser.Controller.Entities;
- using MediaBrowser.Model.Entities;
- namespace MediaBrowser.Controller.Providers
- {
- public class MetadataResult<T>
- {
- // Images aren't always used so the allocation is a waste a lot of the time
- private List<LocalImageInfo> _images;
- private List<(string Url, ImageType Type)> _remoteImages;
- public MetadataResult()
- {
- ResultLanguage = "en";
- }
- public List<LocalImageInfo> Images
- {
- get => _images ??= new List<LocalImageInfo>();
- set => _images = value;
- }
- public List<(string Url, ImageType Type)> RemoteImages
- {
- get => _remoteImages ??= new List<(string Url, ImageType Type)>();
- set => _remoteImages = value;
- }
- public List<UserItemData> UserDataList { get; set; }
- public List<PersonInfo> People { get; set; }
- public bool HasMetadata { get; set; }
- public T Item { get; set; }
- public string ResultLanguage { get; set; }
- public string Provider { get; set; }
- public bool QueriedById { get; set; }
- public void AddPerson(PersonInfo p)
- {
- People ??= new List<PersonInfo>();
- PeopleHelper.AddPerson(People, p);
- }
- /// <summary>
- /// Not only does this clear, but initializes the list so that services can differentiate between a null list and zero people.
- /// </summary>
- public void ResetPeople()
- {
- if (People is null)
- {
- People = new List<PersonInfo>();
- }
- else
- {
- People.Clear();
- }
- }
- public UserItemData GetOrAddUserData(string userId)
- {
- UserDataList ??= new List<UserItemData>();
- UserItemData userData = null;
- foreach (var i in UserDataList)
- {
- if (string.Equals(userId, i.UserId.ToString("N", CultureInfo.InvariantCulture), StringComparison.OrdinalIgnoreCase))
- {
- userData = i;
- }
- }
- if (userData is null)
- {
- userData = new UserItemData()
- {
- UserId = new Guid(userId)
- };
- UserDataList.Add(userData);
- }
- return userData;
- }
- }
- }
|