public void MarkAsComplete(BetOption betOption, Bettor bettor) { if (betOption == null) { throw new ArgumentNullException(nameof(betOption)); } if (betOption.Id == default(int)) { throw new ArgumentException(nameof(betOption)); } if (bettor == null) { throw new ArgumentNullException(nameof(bettor)); } if (bettor.Id == default(int)) { throw new ArgumentException(nameof(bettor)); } if (betOption.Bet.Complete) { throw new Exception("Bet Already Complete"); } _betRepository.MarkComplete(betOption.Bet, bettor); _betRepository.MarkCorrect(betOption); _betRepository.AddPointsToSuccessfulGuess(betOption, 100); }