Files
TournamentTracker/TrackerWPFUI/ViewModels/CreateTournamentViewModel.cs

151 lines
2.9 KiB
C#

using Caliburn.Micro;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TrackerLibrary.Models;
namespace TrackerWPFUI.ViewModels
{
public class CreateTournamentViewModel : Conductor<object>.Collection.AllActive
{
private string _tournamentName;
private decimal _entryFee;
private BindableCollection<TeamModel> _availableTeams;
private TeamModel _selectedTeamToAdd;
private BindableCollection<TeamModel> _selectedTeams;
private TeamModel _selectedTeamToRemove;
private Screen _activeAddTeamView;
private BindableCollection<PrizeModel> _selectedPrizes;
private PrizeModel _selectedPrizeToRemove;
private Screen _activAddPrizeView;
public string TournamentName
{
get { return _tournamentName; }
set { _tournamentName = value;
NotifyOfPropertyChange(() => TournamentName);
}
}
public decimal EntryFee
{
get { return _entryFee; }
set { _entryFee = value;
NotifyOfPropertyChange(() => EntryFee);
}
}
public BindableCollection<TeamModel> AvailableTeams
{
get { return _availableTeams; }
set { _availableTeams = value; }
}
public TeamModel SelectedTeamToAdd
{
get { return _selectedTeamToAdd; }
set { _selectedTeamToAdd = value;
NotifyOfPropertyChange(() => SelectedTeamToAdd);
}
}
public BindableCollection<TeamModel> SelectedTeams
{
get { return _selectedTeams; }
set { _selectedTeams = value;}
}
public TeamModel SelectedTeamToRemove
{
get { return _selectedTeamToRemove; }
set { _selectedTeamToRemove = value;
NotifyOfPropertyChange(() => SelectedTeamToRemove);
}
}
public Screen ActiveAddTeamView
{
get { return _activeAddTeamView; }
set { _activeAddTeamView = value;
NotifyOfPropertyChange(() => ActiveAddTeamView);
}
}
public BindableCollection<PrizeModel> SelectedPrizes
{
get { return _selectedPrizes; }
set { _selectedPrizes = value; }
}
public PrizeModel SelectedPrizeToRemove
{
get { return _selectedPrizeToRemove; }
set { _selectedPrizeToRemove = value;
NotifyOfPropertyChange(() => SelectedPrizeToRemove);
}
}
public Screen ActiveAddPrizeView
{
get { return _activAddPrizeView; }
set { _activAddPrizeView = value;
NotifyOfPropertyChange(() => ActiveAddPrizeView);
}
}
public bool CanAddTeam()
{
return SelectedTeamToAdd != null;
}
public void AddTeams()
{
}
public void CreateTeam()
{
}
public bool CanRemoveTeam()
{
return SelectedTeamToRemove != null;
}
public void RemoveTeam()
{
}
public void CreatePrize()
{
}
public bool CanRemovePrize()
{
return SelectedPrizeToRemove != null;
}
public void RemovePrize()
{
}
public bool CanCreateTournament()
{
//ToDo - Add logic for createing the tournament
return true;
}
public void CreateTournament()
{
}
}
}