public IMessageContext Load(IMessage input) { var cmd = input as MatchResultNotificationCommand; _ctx_model = new StoreMatchResultCommandContextModel(); _ctx_model.Match_id = cmd.MatchId; var match_created_ev = _es.Replay(typeof(MatchCreated)).First(record => { var data = record.Data as MatchData; return(data.Id.Equals(cmd.MatchId)); }); Update(new Event[] { match_created_ev }); var player_strength_ev = _es.Replay(new TournamentContext(_ctx_model.Tournament_id, nameof(TournamentContext)), typeof(PlayerStrengthChanged)).Where(record => { var data = record.Data as PlayerStrengthData; return(data.Match_id.Equals(cmd.MatchId)); }); Update(player_strength_ev); return(_ctx_model); }
private Event Map_match_result(StoreMatchResultCommandContextModel ctx_model, MatchResultNotificationCommand cmd) { var match_result_data = new MatchResultData() { Match_id = cmd.MatchId, Results = cmd.Results.Select(result => (events.data.SetResult)result).ToList() }; return(new MatchPlayed(nameof(MatchPlayed), new TournamentContext(ctx_model.Tournament_id, nameof(TournamentContext)), match_result_data)); }
public Event[] Map_person_stats(StoreMatchResultCommandContextModel ctx_model, (PersonMatchStatsData.Result home, PersonMatchStatsData.Result away) match_result)