You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.7 KiB
58 lines
1.7 KiB
using System;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using Model;
|
|
using ViewModels;
|
|
|
|
namespace LolApp.ViewModels
|
|
{
|
|
public partial class ApplicationVM
|
|
{
|
|
public ChampionsMgrVM ChampionsMgrVM { get; set; }
|
|
|
|
public SkinsMgrVM SkinsMgrVM { get; set; }
|
|
|
|
public ApplicationVM(ChampionsMgrVM championsMgrVM, SkinsMgrVM skinsMgrVM)
|
|
{
|
|
ChampionsMgrVM = championsMgrVM;
|
|
SkinsMgrVM = skinsMgrVM;
|
|
}
|
|
|
|
[RelayCommand]
|
|
async Task NavigateToChampionDetailsPage(ChampionVM cvm)
|
|
{
|
|
SkinsMgrVM.Champion = cvm;
|
|
SkinsMgrVM.Index = 0;
|
|
SkinsMgrVM.Count = 5;
|
|
await SkinsMgrVM.LoadSkinsCommand.ExecuteAsync(cvm);
|
|
await App.Current.MainPage.Navigation.PushAsync(new ChampionPage(cvm, this));
|
|
}
|
|
|
|
[RelayCommand]
|
|
async Task NavigateToAddNewChampionPage()
|
|
=> await App.Current.MainPage.Navigation.PushAsync(new AddChampionPage(ChampionsMgrVM));
|
|
|
|
[RelayCommand(CanExecute = nameof(CanNavigateToEditChampionPage))]
|
|
async Task NavigateToEditChampionPage(ChampionVM champ)
|
|
=> await App.Current.MainPage.Navigation.PushAsync(new AddChampionPage(ChampionsMgrVM, champ));
|
|
|
|
bool CanNavigateToEditChampionPage(ChampionVM champ) => champ != null;
|
|
|
|
[RelayCommand]
|
|
async Task NavigateToSkinDetailsPage(SkinVM svm)
|
|
{
|
|
await App.Current.MainPage.Navigation.PushAsync(new SkinPage(svm, this));
|
|
}
|
|
|
|
[RelayCommand]
|
|
async Task NavigateToAddNewSkinPage(ChampionVM champion)
|
|
=> await App.Current.MainPage.Navigation.PushAsync(new AddOrEditSkinPage(SkinsMgrVM, champion));
|
|
|
|
[RelayCommand(CanExecute = nameof(CanNavigateToEditSkinPage))]
|
|
async Task NavigateToEditSkinPage(SkinVM skin)
|
|
=> await App.Current.MainPage.Navigation.PushAsync(new AddOrEditSkinPage(SkinsMgrVM, skin));
|
|
|
|
bool CanNavigateToEditSkinPage(SkinVM skin) => skin != null;
|
|
}
|
|
}
|
|
|