public void Payout(FinishedMatch match) { List <Bet> betList = new List <Bet>(); betList = betrep.GetBetsByMatch(match); foreach (Bet bet in betList) { if (bet.Prediction == match.Result) { userservice = new UserService(); User user = new User { UserID = bet.UserID, Balance = userservice.GetBalance(bet.UserID) }; if (bet.Prediction == MatchResult.HomeTeam) { bet.Earned = bet.Amount * match.MultiplierHome; } else if (bet.Prediction == MatchResult.AwayTeam) { bet.Earned = bet.Amount * match.MultiplierAway; } else { bet.Earned = bet.Amount * match.MultiplierDraw; } bet.Result = BetResult.Won; betrep.Update(bet); userservice.AddFunds(user, bet.Earned); } else { bet.Result = BetResult.Lost; bet.Earned = 0; betrep.Update(bet); } } }