EventAggrigationProvider added to handle events between windows/usercontrols, persons can be added now
This commit is contained in:
@ -9,17 +9,21 @@ using TrackerLibrary.Models;
|
||||
|
||||
namespace TrackerWPFUI.ViewModels
|
||||
{
|
||||
public class CreateTeamViewModel : Conductor<object>
|
||||
public class CreateTeamViewModel : Conductor<object>, IHandle<PersonModel>
|
||||
{
|
||||
private string _teamName = "";
|
||||
private BindableCollection<PersonModel> _availableTeamMembers;
|
||||
private PersonModel _selectedTeamMemberToAdd;
|
||||
private BindableCollection<PersonModel> _selectedTeamMembers = new BindableCollection<PersonModel>();
|
||||
private PersonModel _selectedTeamMemberToRemove;
|
||||
private bool _selectedTeamMembersIsVisible = true;
|
||||
private bool _addPersonIsVisible = false;
|
||||
|
||||
|
||||
public CreateTeamViewModel()
|
||||
{
|
||||
AvailableTeamMembers = new BindableCollection<PersonModel>(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<PersonModel> 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;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user