示例#1
0
        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;
        }
示例#2
0
        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);
        }