示例#1
0
        public async Task <IActionResult> Get(int id)
        {
            var character = await _repository.FindAsync(id);

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

            return(Ok(character));
        }
    public async ValueTask <ActionResult> EnterActivity(string characterId, string activityId)
    {
        var character = await _characterRepository.FindAsync(new CharacterId(characterId));

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

        character.EnterActivity(activityId);
        await _characterRepository.SaveAsync(character);

        return(NoContent());
    }
        public async Task <CharacterDTO> GetCharacterByIdAsync(int id)
        {
            Character character = await _characterRepository.FindAsync(id,
                                                                       x => x.Episodes, x => x.Episodes.Select(y => y.Episode),
                                                                       x => x.Friends, x => x.Friends.Select(y => y.Friend)
                                                                       );

            return(_mapper.Map <CharacterDTO>(character));
        }
    public async ValueTask <ActionResult> Update(string characterId, UpdateCharacterDto dto)
    {
        var name = new CharacterName(dto.Name);

        var character = await _characterRepository.FindAsync(new CharacterId(characterId));

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

        if (!IsOwner(character))
        {
            return(Forbid());
        }

        character.Name = name;
        await _characterRepository.SaveAsync(character);

        return(NoContent());
    }
示例#5
0
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Character character = await repository.FindAsync((int)id);

            if (character == null)
            {
                return(HttpNotFound());
            }
            return(View(Tuple.Create(character, messageRepository.GetMessagesForCharacter(character.Id))));
        }
        public async Task UpdateCharacterAsync(IUpdateCharacterModel updateModel)
        {
            if (updateModel == null)
            {
                throw new ArgumentNullException(nameof(updateModel));
            }

            await _updateCharacterValidator.ValidateAndThrowAsync(updateModel);

            Character characterToUpdate = await _characterRepository.FindAsync(updateModel.Id, x => x.Episodes);

            characterToUpdate.Name = updateModel.Name;

            await SetCharacterEpisodesAsync(characterToUpdate, updateModel.Episodes);

            await SetCharacterFriendsAsync(characterToUpdate, updateModel.Friends);
        }
        public async Task DeleteAsync(int id)
        {
            Character?characterToDelete = await _characterRepository.FindAsync(id);

            _characterRepository.Delete(characterToDelete);
        }