| 123456789101112131415161718192021222324252627282930313233343536373839 | using MediaBrowser.Controller.Dto;using MediaBrowser.Model.Entities;using System;using System.Linq;namespace MediaBrowser.Api{    public interface IHasDtoOptions : IHasItemFields    {        bool? EnableImages { get; set; }        int? ImageTypeLimit { get; set; }        string EnableImageTypes { get; set; }    }    public static class HasDtoOptionsExtensions    {        public static DtoOptions GetDtoOptions(this IHasDtoOptions request)        {            var options = new DtoOptions();            options.Fields = request.GetItemFields().ToList();            options.EnableImages = request.EnableImages ?? true;            if (request.ImageTypeLimit.HasValue)            {                options.ImageTypeLimit = request.ImageTypeLimit.Value;            }            if (!string.IsNullOrWhiteSpace(request.EnableImageTypes))            {                options.ImageTypes = (request.EnableImageTypes ?? string.Empty).Split(',').Where(i => !string.IsNullOrWhiteSpace(i)).Select(v => (ImageType)Enum.Parse(typeof(ImageType), v, true)).ToList();            }            return options;        }    }}
 |