public IActionResult Personality(Guid characterId)
        {
            var character = _repository.GetCharacter(characterId);

            if (character == null)
            {
                return(NotFound());
            }

            if (!IsCharacterEditAuthorised(character))
            {
                return(Unauthorized());
            }

            PersonalityViewModel viewModel = _viewModelFactory.CreateNew <PersonalityViewModel>(character);

            return(View("Personality", viewModel));
        }
        public IActionResult Personality(PersonalityViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var character = _repository.GetCharacter(viewModel.CharacterId);
                if (character == null)
                {
                    return(NotFound());
                }

                if (!IsCharacterEditAuthorised(character))
                {
                    return(Unauthorized());
                }

                character.Personality = viewModel.Personality;
                _repository.AddOrUpdateCharacter(character, false);

                return(RedirectToAction("Sheet", "Character", new { characterId = viewModel.CharacterId }));
            }

            return(View("Personality", viewModel));
        }