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(); }
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); }
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 }; }