public static ChallengeParticipantDto Map(IChallenge challenge, Participant participant) { return(new ChallengeParticipantDto { Id = participant.Id, UserId = participant.UserId, GamePlayerId = participant.PlayerId, ChallengeId = challenge.Id, Score = participant.ComputeScore(challenge.BestOf)?.ToDecimal(), SynchronizedAt = participant.SynchronizedAt.ToTimestampUtcOrNull(), Matches = { participant.Matches.Select(match => Map(challenge, participant, match)) } }); }