コード例 #1
0
        public async Task <IEntityCreateResult> CreateCharacterAsync(ICreateCharacterModel createModel)
        {
            if (createModel is null)
            {
                throw new ArgumentNullException(nameof(createModel));
            }

            await _createCharacterValidator.ValidateAndThrowAsync(createModel);

            Character characterToAdd = await _createCharacterFactory.CreateAsync(createModel);

            IEntityCreateResult identity = _characterRepository.Add(characterToAdd);

            return(identity);
        }
コード例 #2
0
        public async Task <Character> CreateAsync(ICreateCharacterModel createModel)
        {
            List <Episode> episodes = await _episodeRepository.GetAllByOrDefaultAsync(x => createModel.Episodes.Contains(x.Name));

            List <Character> friends = await _characterRepository.GetAllByOrDefaultAsync(x => createModel.Friends.Contains(x.Name));

            return(new Character()
            {
                Name = createModel.Name,
                Friends = friends.Select(x => new CharacterFriend()
                {
                    FriendCharacterId = x.Id
                }).ToList(),
                Episodes = episodes.Select(x => new CharacterEpisode()
                {
                    EpisodeId = x.Id
                }).ToList()
            });
        }
コード例 #3
0
 public Task <IEntityCreateResult> CreateCharacterAsync(ICreateCharacterModel createModel) => _createCharacterService.CreateCharacterAsync(createModel);