private ObservableCollection<OrgTeamMemberViewModel> GetTeamMembers(XContainer element, OrgTeamViewModel team) { var members = new ObservableCollection<OrgTeamMemberViewModel>(); foreach (var xmlNodeMember in element.Elements("NodeMember")) { OrgTeamMemberViewModel member = new OrgTeamMemberViewModel(); member.Team = team; member.Name = xmlNodeMember.Attribute("Name").Value; member.ImagePath = string.Format("../../Images/Diagrams/OrgChart/{0}.png", member.Name); member.Position = xmlNodeMember.Attribute("Position").Value; members.Add(member); } return members; }
internal void OpenDropMembersDialog(OrgTeamViewModel team, OrgTeamMemberViewModel member) { DropDialogViewModel dropModel = new DropDialogViewModel() { Header = string.Format("Drop in {0} team", team.Name), DropMessage = string.Format("Are you sure you want to drop {0} in {1} team?", member.Name, team.Name) }; DropDialog dialog = new DropDialog(); dialog.DataContext = dropModel; dropModel.OkCommand = new DelegateCommand(x => { member.Team.TeamMembers.Remove(member); member.Team = team; team.TeamMembers.Add(member); if (this.TeamMembersVisibilityChanged != null) { TeamExpandCollapseChangeEventArgs args = new TeamExpandCollapseChangeEventArgs(team); this.TeamMembersVisibilityChanged(this, args); } dialog.Close(); }); dropModel.CancelCommand = new DelegateCommand(x => dialog.Close()); dialog.ShowDialog(); }