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) }); } }
private void OnScrumTeamCreated(NodeMessage message) { var scrumTeamData = (byte[])message.Data; var scrumTeam = ScrumTeamHelper.DeserializeScrumTeam(scrumTeamData, this.PlanningPoker.DateTimeProvider); if (!this.teamsToInitialize.ContainsOrNotInit(scrumTeam.Name)) { try { this.processingScrumTeamName = scrumTeam.Name; using (var teamLock = this.PlanningPoker.AttachScrumTeam(scrumTeam)) { } } finally { this.processingScrumTeamName = null; } } }
private void ProcessInitializeTeamMessage(NodeMessage message) { var scrumTeamData = message.Data as byte[]; if (scrumTeamData != null) { var scrumTeam = ScrumTeamHelper.DeserializeScrumTeam(scrumTeamData, this.PlanningPoker.DateTimeProvider); this.teamsToInitialize.Remove(scrumTeam.Name); this.PlanningPoker.InitializeScrumTeam(scrumTeam); } else { // team does not exist anymore this.teamsToInitialize.Remove((string)message.Data); } if (this.teamsToInitialize.IsEmpty) { this.EndInitialization(); } }
private void OnScrumTeamCreated(NodeMessage message) { var scrumTeamData = (byte[])message.Data; var scrumTeam = ScrumTeamHelper.DeserializeScrumTeam(scrumTeamData, PlanningPoker.DateTimeProvider); _logger?.LogInformation(Resources.Info_ScrumTeamCreatedNodeMessageReceived, NodeId, message.SenderNodeId, message.RecipientNodeId, message.MessageType, scrumTeam.Name); if (!_teamsToInitialize.ContainsOrNotInit(scrumTeam.Name)) { try { _processingScrumTeamName = scrumTeam.Name; using (var teamLock = PlanningPoker.AttachScrumTeam(scrumTeam)) { } } finally { _processingScrumTeamName = null; } } }
private void ProcessInitializeTeamMessage(NodeMessage message) { var scrumTeamData = message.Data as byte[]; if (scrumTeamData != null) { var scrumTeam = ScrumTeamHelper.DeserializeScrumTeam(scrumTeamData, PlanningPoker.DateTimeProvider); _logger?.LogInformation(Resources.Info_ScrumTeamCreatedNodeMessageReceived, NodeId, message.SenderNodeId, message.RecipientNodeId, message.MessageType, scrumTeam.Name); _teamsToInitialize.Remove(scrumTeam.Name); PlanningPoker.InitializeScrumTeam(scrumTeam); } else { // team does not exist anymore _teamsToInitialize.Remove((string)message.Data); } if (_teamsToInitialize.IsEmpty) { EndInitialization(); } }