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();
 }