diff --git a/Sources/View/ModelViewPage/ChampionsViewM.cs b/Sources/View/ModelViewPage/ChampionsViewM.cs index dbc889f..5059e98 100644 --- a/Sources/View/ModelViewPage/ChampionsViewM.cs +++ b/Sources/View/ModelViewPage/ChampionsViewM.cs @@ -26,6 +26,7 @@ namespace View.ModelViewPage NextPageCommand = new Command(NextPage, CanExecuteNext); PreviousPageCommand = new Command(PreviousPage, CanExecutePrevious); AddChampionCommand = new Command(Addchampion); + EditChampionCommand = new Command(EditChampion); } private void NextPage() @@ -67,7 +68,12 @@ namespace View.ModelViewPage { Shell.Current.Navigation.PushAsync(page: new AddChampionPage(new EditChampionViewM(championManagerVm, new EditChampionVm(null), null))); } - + + private async void EditChampion(ChampionVm championVM) + { + await Shell.Current.Navigation.PushAsync(new AddChampionPage(new EditChampionViewM(championManagerVm, new EditChampionVm(championVM), championVM))); + } + } } diff --git a/Sources/View/Page/AddChampionPage.xaml b/Sources/View/Page/AddChampionPage.xaml index 7e13817..129c6c8 100644 --- a/Sources/View/Page/AddChampionPage.xaml +++ b/Sources/View/Page/AddChampionPage.xaml @@ -6,7 +6,11 @@ x:Class="View.Page.AddChampionPage" Title="AddChampionPage"> - + + + + + diff --git a/Sources/ViewModels/ViewM/DataManagerVM.cs b/Sources/ViewModels/ViewM/DataManagerVM.cs deleted file mode 100644 index fa64432..0000000 --- a/Sources/ViewModels/ViewM/DataManagerVM.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Runtime.CompilerServices; -using System.Windows.Input; -using Model; -namespace ViewModels -{ - public class DataManagerVM : INotifyPropertyChanged - { - private ObservableCollection ChampionsObs { get; set; } = new ObservableCollection(); - public ReadOnlyObservableCollection ChampionVMs { get; private set; } - public int PageId - { - get => _pageId; - set - { - if (_pageId != value) - { - _pageId = value; - OnPropertyChanged(); - (PreviousPageCommand as Command).ChangeCanExecute(); - (NextPageCommand as Command).ChangeCanExecute(); - LoadData(); - } - } - - } - 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 - { - get => _dataManager; - set - { - if (_dataManager == value) return; - _dataManager = value; - OnPropertyChanged(); - LoadData(); - } - } - private IDataManager _dataManager; - - public ICommand NextPageCommand { get; private set; } - public ICommand PreviousPageCommand { get; private set; } - - public DataManagerVM(IDataManager dataManager) - { - DataManager = dataManager; - ChampionVMs = new ReadOnlyObservableCollection(ChampionsObs); - - NextPageCommand = new Command( - execute: () => { PageId++; }, - canExecute: () => { return NbItem - (PageSize * (PageId - 1)) > PageSize; } - ); - PreviousPageCommand = new Command( - execute: () => { PageId--; }, - canExecute: () => { return PageId > 1; } - ); - } - protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) - => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); - public event PropertyChangedEventHandler PropertyChanged; - - public async void LoadData() - { - ChampionsObs.Clear(); - NbItem = await DataManager.ChampionsMgr.GetNbItems(); - IEnumerable champions = await DataManager.ChampionsMgr.GetItems(PageId - 1, PageSize); - foreach (var item in champions) - { - ChampionsObs.Add(new ChampionVm(item)); - } - } - } -} -