示例#1
0
        public void Handle(ParticipantAssignedToContingent e)
        {
            var participant = Participants.Single(x => x.Id == e.Id);
            var contingent  = Contingents.Single(x => x.Id == e.ContingentId);

            participant.ContingentId = contingent.Id;
            participant.Province     = contingent.Province;
        }
示例#2
0
        public void Handle(CoachAssignedToTeam e)
        {
            var contingentId = TeamContingents[e.TeamId];
            var contingent   = Contingents.Single(x => x.Id == contingentId);
            var participant  = Participants.Single(x => x.Id == e.Id);

            participant.ContingentId = contingent.Id;
            participant.Province     = contingent.Province;
        }
示例#3
0
        public void Handle(ContingentAssignedToTournament e)
        {
            var contingent = Contingents.Single(x => x.Id == e.Id);
            var tournament = Tournaments.SingleOrDefault(x => x.Id == e.TournamentId)
                             ?? new Tournament {
                Id = e.TournamentId, Year = "2014"
            };

            contingent.TournamentId = tournament.Id;
            contingent.Year         = tournament.Year;
        }
示例#4
0
        public void Handle(TeamCreated e)
        {
            var contingent = Contingents.Single(x => x.Id == e.Id);

            Teams.Add(new Team
            {
                Id           = e.TeamId,
                TeamId       = e.TeamId.ToString(),
                ContingentId = e.Id,
                Province     = contingent.Province,
                Division     = e.Name,
            });
        }
示例#5
0
        public void Handle(CoachAssignedToTeam e)
        {
            var team       = Teams.Single(x => x.Id == e.TeamId);
            var contingent = Contingents.Single(x => x.Id == team.ContingentId);

            var participant = Participants.Single(x => x.Id == e.Id);

            participant.IsCoach      = true;
            participant.TeamId       = team.Id;
            participant.TeamName     = team.Name;
            participant.ContingentId = team.ContingentId;
            participant.Province     = contingent.Province;
        }
示例#6
0
        public void Handle(ParticipantAssignedToTeam e)
        {
            var team       = Teams.Single(x => x.Id == e.TeamId);
            var contingent = Contingents.Single(x => x.Id == team.ContingentId);

            var currentTeammates = Participants.Where(x => x.TeamId == e.TeamId).ToList()
                                   ?? new List <Participant>();

            var participant = Participants.Single(x => x.Id == e.Id);

            participant.TeamId             = team.Id;
            participant.TeamName           = team.Name;
            participant.ContingentId       = team.ContingentId;
            participant.Province           = contingent.Province;
            participant.QualifyingPosition = currentTeammates.Count + 1;
        }
示例#7
0
        public void Handle(TeamCreated e)
        {
            var contingent = Contingents.Single(x => x.Id == e.Id);

            contingent.Teams.Add(new Team
            {
                Id                 = e.TeamId,
                Name               = e.Name,
                SizeLimit          = e.SizeLimit,
                Gender             = e.Gender,
                RequiresShirtSize  = e.RequiresShirtSize,
                RequiresCoach      = e.RequiresCoach,
                RequiresAverage    = e.RequiresAverage,
                RequiresBio        = e.RequiresBio,
                RequiresGender     = e.RequiresGender,
                IncludesSinglesRep = e.IncludesSinglesRep,
            });
        }
示例#8
0
        public void Handle(TeamGameCompleted e)
        {
            var  isPOASingles = e.IsPOA && e.Division.Contains("Single");
            Guid actualTeamId = isPOASingles ? Singles[e.TeamId] : e.TeamId;

            var team = Teams.SingleOrDefault(x => x.Id == actualTeamId);

            if (team == null)
            {
                var t          = Teams.Single(x => x.Id == e.TeamId);
                var contingent = Contingents.Single(x => x.Id == t.ContingentId);

                team = new Team
                {
                    Id           = actualTeamId,
                    TeamId       = actualTeamId.ToString(),
                    ContingentId = contingent.Id,
                    Province     = contingent.Province,
                    Division     = e.Division,
                };

                Teams.Add(team);
            }

            //Remove any previous entries as they could re-enter the scores
            team.Matches.RemoveAll(x => x.Id == e.Id);

            team.Matches.Add(new Match {
                Id          = e.Id,
                IsPOA       = e.IsPOA,
                Number      = e.Number,
                Opponent    = e.Opponent,
                POA         = e.POA,
                Points      = e.Points,
                Score       = e.Score,
                TotalPoints = e.TotalPoints,
                WinLossTie  = e.IsPOA
                    ? (e.POA > e.OpponentPOA ? "W" : e.POA < e.OpponentPOA ? "L" : "T")
                    : (e.Score > e.OpponentScore ? "W" : e.Score < e.OpponentScore ? "L" : "T"),
            });
        }
示例#9
0
        public void Handle(TeamRemoved e)
        {
            var contingent = Contingents.Single(x => x.Id == e.Id);

            contingent.Teams.RemoveAll(x => x.Id == e.TeamId);
        }
示例#10
0
        public void Handle(ContingentAssignedToTournament e)
        {
            var contingent = Contingents.Single(x => x.Id == e.Id);

            contingent.Tournament = e.TournamentId;
        }