private void ProcessRequestTeamsMessage(NodeMessage message)
        {
            var scrumTeamNames = (IEnumerable <string>)message.Data;

            foreach (var scrumTeamName in scrumTeamNames)
            {
                try
                {
                    byte[] scrumTeamData = null;
                    try
                    {
                        using (var teamLock = this.PlanningPoker.GetScrumTeam(scrumTeamName))
                        {
                            teamLock.Lock();
                            scrumTeamData = ScrumTeamHelper.SerializeScrumTeam(teamLock.Team);
                        }
                    }
                    catch (Exception)
                    {
                        scrumTeamData = null;
                    }

                    var initializeTeamMessage = new NodeMessage(NodeMessageType.InitializeTeam)
                    {
                        RecipientNodeId = message.SenderNodeId,
                        Data            = scrumTeamData != null ? (object)scrumTeamData : (object)scrumTeamName
                    };
                    this.SendNodeMessage(initializeTeamMessage);
                }
                catch (Exception)
                {
                }
            }
        }
 private NodeMessage CreateTeamCreatedMessage(string teamName)
 {
     using (var teamLock = this.PlanningPoker.GetScrumTeam(teamName))
     {
         teamLock.Lock();
         var team = teamLock.Team;
         return(new NodeMessage(NodeMessageType.TeamCreated)
         {
             Data = ScrumTeamHelper.SerializeScrumTeam(team)
         });
     }
 }