diff --git a/TrackerWPFUI/ViewModels/CreatePersonViewModel.cs b/TrackerWPFUI/ViewModels/CreatePersonViewModel.cs index 83f7f0c..0438878 100644 --- a/TrackerWPFUI/ViewModels/CreatePersonViewModel.cs +++ b/TrackerWPFUI/ViewModels/CreatePersonViewModel.cs @@ -50,6 +50,12 @@ namespace TrackerWPFUI.ViewModels } } + public void CancelCreation() + { + EventAggregationProvider.TrackerEventAggregator.PublishOnUIThread(new PersonModel()); + this.TryClose(); + } + public bool CanCreatePerson(string firstName, string lastName, string email, string cellphone) { if(firstName.Length>0 && lastName.Length>0 && email.Length>0 && cellphone.Length > 0) @@ -74,6 +80,9 @@ namespace TrackerWPFUI.ViewModels GlobalConfig.Connection.CreatePerson(p); //TODO - Send results back to parent and close + + EventAggregationProvider.TrackerEventAggregator.PublishOnUIThread(p); + this.TryClose(); } } } diff --git a/TrackerWPFUI/ViewModels/CreateTeamViewModel.cs b/TrackerWPFUI/ViewModels/CreateTeamViewModel.cs index 7bf1ded..eaf53bf 100644 --- a/TrackerWPFUI/ViewModels/CreateTeamViewModel.cs +++ b/TrackerWPFUI/ViewModels/CreateTeamViewModel.cs @@ -9,17 +9,21 @@ using TrackerLibrary.Models; namespace TrackerWPFUI.ViewModels { - public class CreateTeamViewModel : Conductor + public class CreateTeamViewModel : Conductor, IHandle { private string _teamName = ""; private BindableCollection _availableTeamMembers; private PersonModel _selectedTeamMemberToAdd; private BindableCollection _selectedTeamMembers = new BindableCollection(); private PersonModel _selectedTeamMemberToRemove; + private bool _selectedTeamMembersIsVisible = true; + private bool _addPersonIsVisible = false; + public CreateTeamViewModel() { AvailableTeamMembers = new BindableCollection(GlobalConfig.Connection.GetPerson_All()); + EventAggregationProvider.TrackerEventAggregator.Subscribe(this); } @@ -34,6 +38,26 @@ namespace TrackerWPFUI.ViewModels } } + public bool SelectedTeamMembersIsVisible + { + get { return _selectedTeamMembersIsVisible; } + set + { + _selectedTeamMembersIsVisible = value; + NotifyOfPropertyChange(() => SelectedTeamMembersIsVisible); + } + } + + public bool AddPersonIsVisible + { + get { return _addPersonIsVisible; } + set + { + _addPersonIsVisible = value; + NotifyOfPropertyChange(() => AddPersonIsVisible); + } + } + public BindableCollection AvailableTeamMembers { get { return _availableTeamMembers; } @@ -74,7 +98,7 @@ namespace TrackerWPFUI.ViewModels public void AddMember() { SelectedTeamMembers.Add(SelectedTeamMemberToAdd); - AvailableTeamMembers.Remove(SelectedTeamMemberToAdd ); + AvailableTeamMembers.Remove(SelectedTeamMemberToAdd); NotifyOfPropertyChange(() => CanCreateTeam); } public PersonModel SelectedTeamMemberToRemove @@ -105,7 +129,9 @@ namespace TrackerWPFUI.ViewModels public void CreateMember() { - + ActivateItem(new CreatePersonViewModel()); + SelectedTeamMembersIsVisible = false; + AddPersonIsVisible = true; } public bool CanCreateTeam { @@ -140,6 +166,17 @@ namespace TrackerWPFUI.ViewModels //TODO - Pass the team back to the parent and close the form } + public void Handle(PersonModel message) + { + if (!string.IsNullOrWhiteSpace(message.FullName)) + { + SelectedTeamMembers.Add(message); + NotifyOfPropertyChange(() => CanCreateTeam); + } + SelectedTeamMembersIsVisible = true; + AddPersonIsVisible = false; + + } } } diff --git a/TrackerWPFUI/ViewModels/ShellViewModel.cs b/TrackerWPFUI/ViewModels/ShellViewModel.cs index 85f0774..484d8a7 100644 --- a/TrackerWPFUI/ViewModels/ShellViewModel.cs +++ b/TrackerWPFUI/ViewModels/ShellViewModel.cs @@ -18,8 +18,8 @@ namespace TrackerWPFUI.ViewModels GlobalConfig.InitializeConnections(DatabaseType.Sql); _existingTournaments = new BindableCollection(GlobalConfig.Connection.GetTournament_All()); //ActivateItem(new CreatePrizeViewModel()); - //ActivateItem(new CreateTeamViewModel()); - ActivateItem(new CreatePersonViewModel()); + ActivateItem(new CreateTeamViewModel()); + //ActivateItem(new CreatePersonViewModel()); } public void CreateTournament() { diff --git a/TrackerWPFUI/Views/CreatePersonView.xaml b/TrackerWPFUI/Views/CreatePersonView.xaml index b6fa05f..8d7bb22 100644 --- a/TrackerWPFUI/Views/CreatePersonView.xaml +++ b/TrackerWPFUI/Views/CreatePersonView.xaml @@ -37,9 +37,14 @@ Cellphone - + + + + diff --git a/TrackerWPFUI/Views/CreateTeamView.xaml b/TrackerWPFUI/Views/CreateTeamView.xaml index 1e6a3a0..870999d 100644 --- a/TrackerWPFUI/Views/CreateTeamView.xaml +++ b/TrackerWPFUI/Views/CreateTeamView.xaml @@ -20,10 +20,15 @@ - Selected Team Members - + Selected Team Members + + + + +