示例#1
0
        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();
        }
示例#2
0
        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);
        }