|
|
|
@ -1,6 +1,8 @@
|
|
|
|
|
using LolToolkit;
|
|
|
|
|
using Microsoft.Maui.Controls;
|
|
|
|
|
using Model;
|
|
|
|
|
using System.Collections.ObjectModel;
|
|
|
|
|
using System.Windows.Input;
|
|
|
|
|
|
|
|
|
|
namespace VM
|
|
|
|
|
{
|
|
|
|
@ -17,6 +19,8 @@ namespace VM
|
|
|
|
|
{
|
|
|
|
|
_pageId = value;
|
|
|
|
|
OnPropertyChanged();
|
|
|
|
|
(PreviousPageCommand as Command).ChangeCanExecute();
|
|
|
|
|
(NextPageCommand as Command).ChangeCanExecute();
|
|
|
|
|
LoadData();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -24,6 +28,19 @@ namespace VM
|
|
|
|
|
}
|
|
|
|
|
public int _pageId = 1;
|
|
|
|
|
public int PageSize { get; set; } = 5;
|
|
|
|
|
public int NbItem
|
|
|
|
|
{
|
|
|
|
|
get => _nbItem;
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
if( _nbItem != value)
|
|
|
|
|
{
|
|
|
|
|
_nbItem = value;
|
|
|
|
|
OnPropertyChanged();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public int _nbItem;
|
|
|
|
|
|
|
|
|
|
public IDataManager DataManager
|
|
|
|
|
{
|
|
|
|
@ -38,16 +55,29 @@ namespace VM
|
|
|
|
|
}
|
|
|
|
|
private IDataManager _dataManager;
|
|
|
|
|
|
|
|
|
|
public ICommand NextPageCommand { get; private set; }
|
|
|
|
|
public ICommand PreviousPageCommand { get; private set; }
|
|
|
|
|
|
|
|
|
|
public DataManagerVM(IDataManager dataManager)
|
|
|
|
|
{
|
|
|
|
|
DataManager = dataManager;
|
|
|
|
|
ChampionVMs = new ReadOnlyObservableCollection<ChampionVM>(ChampionsObs);
|
|
|
|
|
|
|
|
|
|
NextPageCommand = new Command(
|
|
|
|
|
execute: () => { PageId++; },
|
|
|
|
|
canExecute: () => { return NbItem - (PageSize * (PageId-1)) > PageSize ; }
|
|
|
|
|
);
|
|
|
|
|
PreviousPageCommand = new Command(
|
|
|
|
|
execute: () => { PageId--; },
|
|
|
|
|
canExecute: () => { return PageId > 1; }
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async void LoadData()
|
|
|
|
|
{
|
|
|
|
|
ChampionsObs.Clear();
|
|
|
|
|
IEnumerable<Champion?> champions = await DataManager.ChampionsMgr.GetItems(PageId - 1, PageSize);
|
|
|
|
|
NbItem = await DataManager.ChampionsMgr.GetNbItems();
|
|
|
|
|
IEnumerable<Champion> champions = await DataManager.ChampionsMgr.GetItems(PageId - 1, PageSize);
|
|
|
|
|
foreach (var item in champions)
|
|
|
|
|
{
|
|
|
|
|
ChampionsObs.Add(new ChampionVM(item));
|
|
|
|
|