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();
            }
        }
예제 #3
0
        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;
                }
            }
        }
예제 #4
0
        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();
            }
        }