| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 | 
							- using MediaBrowser.Model.Dto;
 
- using MediaBrowser.Model.Net;
 
- using MediaBrowser.UI.Controller;
 
- using MediaBrowser.UI.Playback;
 
- using System.Collections.Generic;
 
- using System.Threading.Tasks;
 
- namespace MediaBrowser.UI.Pages
 
- {
 
-     /// <summary>
 
-     /// Provides a base class for detail pages
 
-     /// </summary>
 
-     public abstract class BaseDetailPage : BasePage
 
-     {
 
-         /// <summary>
 
-         /// The _item id
 
-         /// </summary>
 
-         private string _itemId;
 
-         /// <summary>
 
-         /// Gets or sets the id of the item being displayed
 
-         /// </summary>
 
-         /// <value>The item id.</value>
 
-         protected string ItemId
 
-         {
 
-             get { return _itemId; }
 
-             private set
 
-             {
 
-                 _itemId = value;
 
-                 OnPropertyChanged("ItemId");
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// The _item
 
-         /// </summary>
 
-         private BaseItemDto _item;
 
-         /// <summary>
 
-         /// Gets or sets the item.
 
-         /// </summary>
 
-         /// <value>The item.</value>
 
-         public BaseItemDto Item
 
-         {
 
-             get { return _item; }
 
-             set
 
-             {
 
-                 _item = value;
 
-                 OnPropertyChanged("Item");
 
-                 OnItemChanged();
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// Gets a value indicating whether this instance can resume.
 
-         /// </summary>
 
-         /// <value><c>true</c> if this instance can resume; otherwise, <c>false</c>.</value>
 
-         protected bool CanResume
 
-         {
 
-             get { return Item.CanResume; }
 
-         }
 
-         /// <summary>
 
-         /// Gets a value indicating whether this instance can queue.
 
-         /// </summary>
 
-         /// <value><c>true</c> if this instance can queue; otherwise, <c>false</c>.</value>
 
-         protected bool CanQueue
 
-         {
 
-             get { return true; }
 
-         }
 
-         /// <summary>
 
-         /// Gets a value indicating whether this instance can play trailer.
 
-         /// </summary>
 
-         /// <value><c>true</c> if this instance can play trailer; otherwise, <c>false</c>.</value>
 
-         protected bool CanPlayTrailer
 
-         {
 
-             get { return Item.HasTrailer; }
 
-         }
 
-         /// <summary>
 
-         /// Initializes a new instance of the <see cref="BaseDetailPage" /> class.
 
-         /// </summary>
 
-         /// <param name="itemId">The item id.</param>
 
-         protected BaseDetailPage(string itemId)
 
-             : base()
 
-         {
 
-             ItemId = itemId;
 
-         }
 
-         /// <summary>
 
-         /// Called when [property changed].
 
-         /// </summary>
 
-         /// <param name="name">The name.</param>
 
-         public async override void OnPropertyChanged(string name)
 
-         {
 
-             base.OnPropertyChanged(name);
 
-             // Reload the item when the itemId changes
 
-             if (name.Equals("ItemId"))
 
-             {
 
-                 await ReloadItem();
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// Reloads the item.
 
-         /// </summary>
 
-         /// <returns>Task.</returns>
 
-         private async Task ReloadItem()
 
-         {
 
-             try
 
-             {
 
-                 Item = await App.Instance.ApiClient.GetItemAsync(ItemId, App.Instance.CurrentUser.Id);
 
-             }
 
-             catch (HttpException)
 
-             {
 
-                 App.Instance.ShowDefaultErrorMessage();
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// Called when [item changed].
 
-         /// </summary>
 
-         protected virtual void OnItemChanged()
 
-         {
 
-             SetBackdrops(Item);
 
-         }
 
-         /// <summary>
 
-         /// Plays this instance.
 
-         /// </summary>
 
-         public async void Play()
 
-         {
 
-             await UIKernel.Instance.PlaybackManager.Play(new PlayOptions
 
-             {
 
-                 Items = new List<BaseItemDto> { Item }
 
-             });
 
-         }
 
-         /// <summary>
 
-         /// Resumes this instance.
 
-         /// </summary>
 
-         public async void Resume()
 
-         {
 
-             await UIKernel.Instance.PlaybackManager.Play(new PlayOptions
 
-             {
 
-                 Items = new List<BaseItemDto> { Item },
 
-                 Resume = true
 
-             });
 
-         }
 
-         /// <summary>
 
-         /// Queues this instance.
 
-         /// </summary>
 
-         public void Queue()
 
-         {
 
-         }
 
-     }
 
- }
 
 
  |