private int CalculateAllMatchOutComes(MatchOutcome matchOutcomeToTrack) { int outcome = 0; foreach (var game in this.teamEvents.Games) { int gameGoalDifference = 0; foreach (var goal in game.Protocol.Goals) { gameGoalDifference += (goal.TeamId == this.teamId) ? 1 : -1; } if (gameGoalDifference > 0 && matchOutcomeToTrack.Equals(MatchOutcome.Win)) { outcome++; } else if (gameGoalDifference < 0 && matchOutcomeToTrack.Equals(MatchOutcome.Loss)) { outcome++; } else if (gameGoalDifference == 0 && matchOutcomeToTrack.Equals(MatchOutcome.Draw)) { outcome++; } } return(outcome); }