コード例 #1
0
        private IEnumerable<Event> Map(IEnumerable<contracts.data.Match> matches,
                                        CreateRoundCommandContextModel ctx_model, string round_id, string tournament_id)
        {
            var matches_data = matches.Select(m => new MatchData()
            {
                Id = _id_provider.Get_new_id().ToString(),
                Round_id = round_id,
                Home = new MatchData.Team()
                {
                    Player_one = new events.data.Player()
                    {
                        Id = m.Home.Member_one.Id,
                        First_name = m.Home.Member_one.First_name,
                        Last_name = m.Home.Member_one.Last_name
                    },
                    Player_two = new events.data.Player()
                    {
                        Id = m.Home.Member_two.Id,
                        First_name = m.Home.Member_two.First_name,
                        Last_name = m.Home.Member_two.Last_name
                    }
                },
                Away = new MatchData.Team()
                {
                    Player_one = new events.data.Player()
                    {
                        Id = m.Away.Member_one.Id,
                        First_name = m.Away.Member_one.First_name,
                        Last_name = m.Away.Member_one.Last_name
                    },
                    Player_two = new events.data.Player()
                    {
                        Id = m.Away.Member_two.Id,
                        First_name = m.Away.Member_two.First_name,
                        Last_name = m.Away.Member_two.Last_name
                    }
                },
                Table = m.Table,
                Sets = ctx_model.MatchOption.Sets,
                Drawn = ctx_model.MatchOption.Drawn,
            }).ToList();


            return matches_data.Select(f =>
            {
                return new MatchCreated(nameof(MatchCreated),
                    new TournamentContext(tournament_id, nameof(TournamentContext)), f);
            }).ToList();
        }
コード例 #2
0
        public IMessageContext Load(IMessage input)
        {
            var cmd = input as CreateRoundCommand;

            _ctx_model                     = new CreateRoundCommandContextModel();
            _ctx_model.Players             = new List <CreateRoundCommandContextModel.Player>();
            _ctx_model.Walkover_player_ids = new List <string>();

            var events = _es.Replay(new TournamentContext(cmd.TournamentId, nameof(TournamentContext)),
                                    typeof(RoundCreated), typeof(PlayersStored), typeof(OptionsCreated), typeof(WalkoverPlayed),
                                    typeof(MatchCreated), typeof(PlayerActivityChanged), typeof(TeamCreated), typeof(PlayerStrengthChanged));

            Update(events);

            var person_events = _es.Replay(typeof(PersonDeleted));

            Update(person_events);

            return(_ctx_model);
        }
コード例 #3
0
        private CreateRoundArgs Map(CreateRoundCommandContextModel model)
        {
            var players = model.Players.Where(pl => pl.Enabled).Select(pl => new contracts.data.Player()
            {
                Id = pl.Id,
                First_name = pl.First_name,
                Last_name = pl.Last_name,
                Matches = pl.Matches,
                Walkover_played = model.Walkover_player_ids.Count(p => p == pl.Id),
                Strength_amount = pl.Strength
            });

            return new CreateRoundArgs()
            {
                Players = players,
                Tables = model.Tables,
                Fair_lots = model.Fair_lots,
                Previous_teams = model.Previous_teams
            };
        }