Files
BCSH1-TournamentApp/TournamentOrganizer/ViewModels/MainViewModel.cs
T
2026-05-06 16:21:50 +02:00

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!";
}