Example #1
0
        public Contingent GetContingent(Guid tournamentId, string province)
        {
            var contingent = Contingents.FirstOrDefault(x => x.Tournament == tournamentId && x.Province == province);

            if (contingent == null)
            {
                return(null);
            }

            contingent.Teams.ForEach(team =>
            {
                if (team.CoachId.HasValue)
                {
                    team.Coach = Participants[team.CoachId.Value];
                }

                team.Bowlers = Participants.Where(x => x.Value.TeamId == team.Id)
                               .Select(x => x.Value)
                               .OrderBy(x => x.QualifyingPosition)
                               .ToList();
            });

            contingent.Guests = Participants.Where(x => x.Value.ContingentId == contingent.Id)
                                .Select(x => x.Value)
                                .Except(contingent.Teams.SelectMany(x => x.Bowlers.Concat <Participant>(new[] { x.Coach })))
                                .ToList();
            return(contingent);
        }
Example #2
0
        public void Handle(ParticipantDesignatedAsAlternate e)
        {
            var team = Contingents.SelectMany(x => x.Teams)
                       .Single(x => x.Id == e.TeamId);

            team.Alternate = e.Id;
        }
Example #3
0
        public void Handle(CoachAssignedToTeam e)
        {
            var team = Contingents.SelectMany(x => x.Teams)
                       .Single(x => x.Id == e.TeamId);

            team.CoachId = e.Id;
        }
Example #4
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;
        }
Example #5
0
 public void Handle(ContingentCreated e)
 {
     Contingents.Add(new Contingent
     {
         Id       = e.Id,
         Province = e.Province
     });
 }
        public List <Team> GetDivision(Guid tournamentId, string division)
        {
            var contingents = Contingents.Where(x => x.TournamentId == tournamentId);
            var teams       = Teams
                              .Where(x => contingents.Any(c => c.Id == x.ContingentId) && x.Division == division)
                              .ToList();

            return(teams);
        }
Example #7
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;
        }
Example #8
0
        public List <ReservationQueries.Participant> GetParticipants(string year, string province)
        {
            var contingents = Contingents.Where(x => x.Year == year);

            var participants = Participants
                               .Where(x => contingents.Any(c => c.Id == x.ContingentId) && x.Province == province)
                               .ToList();

            return(participants);
        }
Example #9
0
        public List <Participant> GetParticipants(string year)
        {
            var contingents = Contingents.Where(x => x.Year == year);

            var participants = Participants
                               .Where(x => contingents.Any(c => c.Id == x.ContingentId))
                               .ToList();

            return(participants);
        }
Example #10
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;
        }
Example #11
0
        public List <Participant> GetAlternates(string year)
        {
            var contingents = Contingents.Where(x => x.Year == year);

            var alternates = Participants
                             .Where(x => x.IsAlternate)
                             .Where(x => contingents.Any(c => c.Id == x.ContingentId))
                             .ToList();

            return(alternates);
        }
Example #12
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,
            });
        }
Example #13
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;
        }
Example #14
0
        public List <Participant> GetProfiles(int year)
        {
            if (!Tournaments.Any(x => x.Value == year.ToString()))
            {
                return(null);
            }

            var tournament   = Tournaments.Single(x => x.Value == year.ToString());
            var contingents  = Contingents.Where(x => x.Value.TournamentId == tournament.Key);
            var participants = Participants.Where(x => x.IsSingle && contingents.Any(c => c.Key == x.ContingentId))
                               .ToList();

            return(participants);
        }
Example #15
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;
        }
Example #16
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,
            });
        }
Example #17
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"),
            });
        }
Example #18
0
        public void Handle(TeamRemoved e)
        {
            var contingent = Contingents.Single(x => x.Id == e.Id);

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

            contingent.Tournament = e.TournamentId;
        }
Example #20
0
 public void Handle(ContingentCreated e)
 {
     Contingents.Add(e.Id, e.Province);
 }