private static async Task OppdaterEloRatinger(BekkSjakkRepository repo, PartiDao parti) { var hvitTask = repo.HentBekkerPåId(parti.SpillerHvitId); var svartTask = repo.HentBekkerPåId(parti.SpillerSvartId); await Task.WhenAll(hvitTask, svartTask); var hvitBekker = hvitTask.Result; var svartBekker = svartTask.Result; if (!hvitBekker.HarVerdi || !svartBekker.HarVerdi) { throw new Exception("Klarte ikkje å oppdatere ratingar"); } var nyeElo = Elo.FinnNyeEloRatinger(hvitBekker.Verdi, svartBekker.Verdi, parti.Resultat); hvitBekker.Verdi.Elo = nyeElo.Item1; svartBekker.Verdi.Elo = nyeElo.Item2; var oppdaterTask1 = repo.OppdaterBekker(hvitBekker.Verdi); var oppdaterTask2 = repo.OppdaterBekker(svartBekker.Verdi); await Task.WhenAll(oppdaterTask1, oppdaterTask2); }