public IActionResult Add(Character character)
        {
            if (ModelState.IsValid)
            {
                _charactersRepository.Add(character);
                return(RedirectToAction("Index", "Character"));
            }

            return(View());
        }
        public IActionResult Add(Character character)
        {
            if (ModelState.IsValid && !_charactersRepository.GetCharacters().Where(charId => charId.Id == character.Id).Any())
            {
                _charactersRepository.Add(character);
                return(RedirectToAction("Index", "Characters"));
            }

            return(View());
        }
        public async Task <CharacterModuleResponse> Handle(CreateCharacterCommand request, CancellationToken cancellationToken)
        {
            if (await _repository.IsNameTaken(request.Name))
            {
                return(CharacterModuleResponse.Duplicate);
            }

            var character = new Character(request.Name, request.Episodes);

            var friends = await _repository.GetRange(request.FriendsIds);

            var friendships = friends.Select(x => new Friendship(character, x)).ToList();

            character.ChangeFriends(friendships);

            await _repository.Add(character);

            return(CharacterModuleResponse.Success);
        }