| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 | using MediaBrowser.Controller.Dto;using MediaBrowser.Controller.Entities;using MediaBrowser.Controller.Entities.Movies;using MediaBrowser.Controller.Library;using MediaBrowser.Controller.Persistence;using ServiceStack.ServiceHost;namespace MediaBrowser.Api{    /// <summary>    /// Class GetSimilarTrailers    /// </summary>    [Route("/Trailers/{Id}/Similar", "GET")]    [Api(Description = "Finds movies and trailers similar to a given trailer.")]    public class GetSimilarTrailers : BaseGetSimilarItemsFromItem    {    }    /// <summary>    /// Class TrailersService    /// </summary>    public class TrailersService : BaseApiService    {        /// <summary>        /// The _user manager        /// </summary>        private readonly IUserManager _userManager;        /// <summary>        /// The _user data repository        /// </summary>        private readonly IUserDataManager _userDataRepository;        /// <summary>        /// The _library manager        /// </summary>        private readonly ILibraryManager _libraryManager;        private readonly IItemRepository _itemRepo;        private readonly IDtoService _dtoService;        /// <summary>        /// Initializes a new instance of the <see cref="TrailersService"/> class.        /// </summary>        /// <param name="userManager">The user manager.</param>        /// <param name="userDataRepository">The user data repository.</param>        /// <param name="libraryManager">The library manager.</param>        public TrailersService(IUserManager userManager, IUserDataManager userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo, IDtoService dtoService)        {            _userManager = userManager;            _userDataRepository = userDataRepository;            _libraryManager = libraryManager;            _itemRepo = itemRepo;            _dtoService = dtoService;        }        /// <summary>        /// Gets the specified request.        /// </summary>        /// <param name="request">The request.</param>        /// <returns>System.Object.</returns>        public object Get(GetSimilarTrailers request)        {            var result = SimilarItemsHelper.GetSimilarItemsResult(_userManager,                _itemRepo,                _libraryManager,                _userDataRepository,                _dtoService,                Logger,                request, item => item is Movie || item is Trailer,                SimilarItemsHelper.GetSimiliarityScore);            return ToOptimizedResult(result);        }    }}
 |