private static GameRoundViewModel GetGameRoundViewModel(Game game, int number) { var gameRoundViewModel = new GameRoundViewModel() { Id = game.Id, Number = number }; foreach (var scorecard in game.Scorecards) { var round = scorecard.GetRound(number); gameRoundViewModel.AddPlayer(scorecard.GetUserName(), round.Score); } return gameRoundViewModel; }
public ActionResult GameRound(GameRoundViewModel viewModel) { var game = gameRepository.Find(viewModel.Id); if (game == null || !game.HasPlayer(User.Identity.Name)) return HttpNotFound(); if (ModelState.IsValid) { foreach (var playerScore in viewModel.PlayerScores) { game.SetRoundScore(viewModel.Number, playerScore.UserName, playerScore.Score); } gameRepository.Update(game); gameRepository.Save(); if (viewModel.Number < game.GetHoleCount()) return RedirectToAction("GameRound", new {id = viewModel.Id, number = viewModel.Number + 1}); return RedirectToAction("Details", new { id = viewModel.Id }); } return View(viewModel); }