public void Calculate(Entities.Game.Game game) { if (game.GameStatusID == GameStatuses.Void) { game.HomeResultTypeID = ResultType.Void; game.AwayResultTypeID = ResultType.Void; foreach (var gameXPlayer in game.Players) { gameXPlayer.ResultTypeID = ResultType.Void; } game.Completed = true; } else { if (game.HomeScore == 0 && game.AwayScore == 0) { game.HomeResultTypeID = null; game.AwayResultTypeID = null; game.Completed = false; } else { this.CalculateGameResult(game); this.CalculatePlayerResults(game); game.Completed = true; } } game.SetAuditFields(); }
private void CalculateGameResult(Entities.Game.Game game) { if (game.HomeScore > game.AwayScore) { game.HomeResultTypeID = ResultType.Win; game.AwayResultTypeID = ResultType.Lose; } else { game.HomeResultTypeID = ResultType.Lose; game.AwayResultTypeID = ResultType.Win; } }
private void CalculatePlayerResults(Entities.Game.Game game) { foreach (var playerResult in game.Players) { if (playerResult.SideID == Sides.Home) { playerResult.ResultTypeID = game.HomeResultTypeID; } else { playerResult.ResultTypeID = game.AwayResultTypeID; } } }
public GameResultMargin CalculateResultMargin(Entities.Game.Game game) { var diff = 0; if (game.HomeResultTypeID.Value == ResultType.Win) { diff = game.HomeScore - game.AwayScore; } else { diff = game.AwayScore - game.HomeScore; } return(this.CalculateMargin(diff)); }