using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Net;
using MediaBrowser.UI.Controls;
using System;
using System.Threading.Tasks;
namespace MediaBrowser.UI.Pages
{
///
/// Provides a base page for theme login pages
///
public abstract class BaseLoginPage : BasePage
{
///
/// The _users
///
private UserDto[] _users;
///
/// Gets or sets the users.
///
/// The users.
public UserDto[] Users
{
get { return _users; }
set
{
_users = value;
OnPropertyChanged("Users");
}
}
///
/// Subclasses must provide the list that holds the users
///
/// The items list.
protected abstract ExtendedListBox ItemsList { get; }
///
/// Raises the event.
///
/// The instance containing the event data.
protected override async void OnInitialized(EventArgs e)
{
base.OnInitialized(e);
ItemsList.ItemInvoked += ItemsList_ItemInvoked;
try
{
Users = await App.Instance.ApiClient.GetAllUsersAsync();
}
catch (HttpException)
{
App.Instance.ShowErrorMessage("There was an error retrieving the list of users from the server.");
}
}
///
/// Called when [loaded].
///
protected override void OnLoaded()
{
base.OnLoaded();
ClearBackdrops();
}
///
/// Logs in a user when one is selected
///
/// The sender.
/// The e.
async void ItemsList_ItemInvoked(object sender, ItemEventArgs