public override AchievementAwarded IsAwardedForThisPlayer(int playerId)
{
var result = new AchievementAwarded
{
AchievementId = Id
};
var allTeamGameIds =
DataContext
.GetQueryable<PlayedGame>()
.Where(x => (x.WinnerType == WinnerTypes.TeamLoss || x.WinnerType == WinnerTypes.TeamWin)
&& x.PlayerGameResults.Any(y => y.PlayerId == playerId))
.Select(z => z.Id)
.Distinct()
.ToList();
result.PlayerProgress = allTeamGameIds.Count;
result.RelatedEntities = allTeamGameIds;
if (result.PlayerProgress < LevelThresholds[AchievementLevel.Bronze])
{
return result;
}
result.LevelAwarded = GetLevelAwarded(result.PlayerProgress);
return result;
}
}