public static Match MapMatch(MatchHistoryMatch matchHistory, MatchDetailsResult matchDetails) { return(new Match() { BarracksStatusDire = matchDetails.BarracksStatusDire, BarracksStatusRadiant = matchDetails.BarracksStatusRadiant, Cluster = matchDetails.Cluster, DireScore = matchDetails.DireScore, DireTeamId = matchHistory.DireTeamId, Duration = matchDetails.Duration, Engine = matchDetails.Engine, FirstBloodTime = matchDetails.FirstBloodTime, Flags = matchDetails.Flags, GameMode = matchDetails.GameMode, HumanPlayers = matchDetails.HumanPlayers, LeagueId = matchDetails.LeagueId, LobbyType = matchDetails.LobbyType, MatchId = matchDetails.MatchId, MatchSeqNum = matchDetails.MatchSeqNum, NegativeVotes = matchDetails.NegativeVotes, Players = MapPlayers(matchDetails.Players), PositiveVotes = matchDetails.PositiveVotes, PreGameDuration = matchDetails.PreGameDuration, RadiantScore = matchDetails.RadiantScore, RadiantTeamId = matchHistory.RadiantTeamId, RadiantWin = matchDetails.RadiantWin, StartTime = matchDetails.StartTime, TowerStatusDire = matchDetails.TowerStatusDire, TowerStatusRadiant = matchDetails.TowerStatusRadiant }); }
public async Task Upsert(MatchHistoryMatch match, MatchDetailsResult matchDetails) { var existingMatch = Get(match.MatchId); if (existingMatch == null) { var mappedMatch = Mapper.MapMatch(match, matchDetails); mappedMatch.Id = Guid.NewGuid(); mappedMatch.LastModified = DateTime.UtcNow; await Context.Repositories.Matches.Upsert(mappedMatch); } }