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); }
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() }); }
public Task <IEntityCreateResult> CreateCharacterAsync(ICreateCharacterModel createModel) => _createCharacterService.CreateCharacterAsync(createModel);