public ActionResult ChangeName()
        {
            var player    = _cookieManager.ExtractPlayerFromCookie(Request);
            var viewModel = new ChangePlayerNameViewModel {
                Name = player.Name
            };

            return(View(viewModel));
        }
        public ActionResult ChangeName(ChangePlayerNameViewModel viewModel)
        {
            var player = _cookieManager.ExtractPlayerFromCookie(Request);

            if (!ModelState.IsValid)
            {
                return(View("ChangeName", viewModel));
            }

            player.ChangeName(viewModel.Name);
            _cookieManager.IssueNewPlayerCookie(Response, player);

            return(RedirectToAction("Details", "Player"));
        }
        public ActionResult Register(ChangePlayerNameViewModel viewModel, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            var player = new Player(viewModel.Name);

            _cookieManager.IssueNewPlayerCookie(Response, player);

            return(string.IsNullOrEmpty(returnUrl)
                ? RedirectToAction("Details", "Player")
                : RedirectToLocal(returnUrl));
        }