78 lines
1.8 KiB
C#
78 lines
1.8 KiB
C#
using System.Threading.Tasks;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
|
|
namespace TournamentOrganizer.ViewModels;
|
|
|
|
public partial class MainViewModel : ViewModelBase
|
|
{
|
|
[ObservableProperty]
|
|
private ViewModelBase _currentView;
|
|
|
|
[ObservableProperty]
|
|
private string _title = "Tournament Organizer";
|
|
|
|
public MainViewModel()
|
|
{
|
|
CurrentView = new HomeViewModel();
|
|
}
|
|
|
|
[RelayCommand]
|
|
private void NavigateToHome()
|
|
{
|
|
CurrentView = new HomeViewModel();
|
|
Title = "Tournament Organizer";
|
|
}
|
|
|
|
[RelayCommand]
|
|
private async Task NavigateToTeams()
|
|
{
|
|
var teamsVm = new TeamsViewModel();
|
|
CurrentView = teamsVm;
|
|
Title = "Teams Management";
|
|
await teamsVm.LoadTeams();
|
|
}
|
|
|
|
[RelayCommand]
|
|
private async Task NavigateToGames()
|
|
{
|
|
var gamesVm = new GamesViewModel();
|
|
CurrentView = gamesVm;
|
|
Title = "Games Management";
|
|
await gamesVm.LoadGames();
|
|
}
|
|
|
|
[RelayCommand]
|
|
private async Task NavigateToEvents()
|
|
{
|
|
var eventsVm = new EventsViewModel();
|
|
CurrentView = eventsVm;
|
|
Title = "Events Management";
|
|
await eventsVm.LoadEvents();
|
|
}
|
|
|
|
[RelayCommand]
|
|
private async Task NavigateToTournaments()
|
|
{
|
|
var tournamentsVm = new TournamentsViewModel();
|
|
CurrentView = tournamentsVm;
|
|
Title = "Tournament Management";
|
|
await tournamentsVm.LoadTournaments();
|
|
}
|
|
|
|
[RelayCommand]
|
|
private async Task NavigateToMatches()
|
|
{
|
|
var matchesVm = new MatchesViewModel();
|
|
CurrentView = matchesVm;
|
|
Title = "Match Management";
|
|
await matchesVm.LoadEvents();
|
|
}
|
|
}
|
|
|
|
public partial class HomeViewModel : ViewModelBase
|
|
{
|
|
[ObservableProperty]
|
|
private string _welcomeMessage = "Welcome to Tournament Organizer!";
|
|
}
|