public async Task <IEnumerable <Character> > GetAllCharacters() { try { return(await _CharacterRepository.GetAllCharacters()); } catch (Exception ex) { File.WriteAllText("log.txt", ex.Message + " - " + ex.StackTrace); throw new Exception("Erro no banco de dados, contate o administrador"); } }
public async Task <EpisodeCharacters> GetEpisodeCharacters(int episodeId) { var episode = await _episodeRepository.GetEpisode(episodeId); if (episode == null) { throw new KeyNotFoundException($"The episode with ${episodeId} does not exists"); } var episodeCharacters = _episodeRepository.GetEpisodesCharacters(episodeId).ToList(); var characters = _characterRepository.GetAllCharacters().Where(x => episodeCharacters.Select(a => a.CharacterId).Contains(x.Id)); return(new EpisodeCharacters(episodeId, episode.Name, characters.Select(character => character.Name))); }
public async Task <PageResponse <Character> > List(GetCharactersQuery query) { var characters = await _characterRepository.GetAllCharacters() .Select(x => new CharacterDTO(x.Id, x.Name, x.Planet)) .PickPage(query); var episodes = _episodesService.GetAllEpisodes().ToList(); var charactersIds = characters.Results.Select(x => x.Id); var episodeCharactersTask = _episodesService.GetAllEpisodesCharacters(charactersIds); var friendsTasks = Task.FromResult(_characterRepository.GetAllCharactersFriends(charactersIds) .Select(x => new CharacterFriendDTO(x.Id, x.FriendId)) .ToList()); await Task.WhenAll(episodeCharactersTask, friendsTasks); return(characters.ComposeCharacters(episodes, friendsTasks.Result, episodeCharactersTask.Result)); }
public async Task <IList <CharacterDTO> > GetAllCharacters() { var characters = await _repository.GetAllCharacters(); var response = new List <CharacterDTO>(); foreach (var character in characters) { response.Add(new CharacterDTO { Id = character.Id, Name = character.Name, Description = character.Description, Modified = character.Modified, ResourceURI = character.ResourceURI }); } return(response); }
// GET: Characters public IActionResult Index() { return(View(_repository.GetAllCharacters())); }