public async Task AddEpisodesToCharacter(Guid characterId, IEnumerable <Guid> episodes) { var dbCharacter = await _characterRepository.GetAsync(characterId); if (dbCharacter == null) { throw new Exception(""); } foreach (var episodeId in episodes) { var dbEpisode = await _episodeRepository.GetAsync(episodeId); if (dbEpisode == null) { continue; } try { dbEpisode.AddCharacter(dbCharacter); } catch (DomainException) { } } await _dbContext.SaveChangesAsync(); }
public async Task <Character> GetHero(int?episodeId) { const int r2d2Id = 2001; if (episodeId.HasValue) { var episode = await _episodeRepository.GetAsync(episodeId.Value, "Hero"); return(episode.Hero); } var r2d2 = await _droidRepository.GetAsync(r2d2Id); return(r2d2); }