| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 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 : BaseGetSimilarItems    {    }    /// <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 IUserDataRepository _userDataRepository;        /// <summary>        /// The _library manager        /// </summary>        private readonly ILibraryManager _libraryManager;        private readonly IItemRepository _itemRepo;                /// <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, IUserDataRepository userDataRepository, ILibraryManager libraryManager, IItemRepository itemRepo)        {            _userManager = userManager;            _userDataRepository = userDataRepository;            _libraryManager = libraryManager;            _itemRepo = itemRepo;        }        /// <summary>        /// Gets the specified request.        /// </summary>        /// <param name="request">The request.</param>        /// <returns>System.Object.</returns>        public object Get(GetSimilarTrailers request)        {            var result = SimilarItemsHelper.GetSimilarItems(_userManager,                _itemRepo,                _libraryManager,                _userDataRepository,                Logger,                request, item => item is Movie || item is Trailer,                SimilarItemsHelper.GetSimiliarityScore);            return ToOptimizedResult(result);        }    }}
 |