public async Task <EpisodeDTO> GetEpisodeByIdAsync(int id) { Episode episode = await _episodeRepository.FindAsync(id, x => x.CharactersInEpisode, x => x.CharactersInEpisode.Select(y => y.Character) ); return(_mapper.Map <EpisodeDTO>(episode)); }
/// <summary> /// Returns the episode of the show that fits the season and episode number. /// A missing episode is returned upon no matches. /// </summary> public async Task <Episode> SearchAsync(Show show, int seasonNumber, int episodeNumber) { // Check DB. var result = await _episodeRepo.FindAsync(show.Id, seasonNumber, episodeNumber); result ??= episodeNumber > 48 ? await _episodeRepo.FindAsync(show.Id, episodeNumber) : null; if (result != null) { return(result); } // Check API. result = await SearchAPIAsync(show, seasonNumber, episodeNumber); return(result ?? new MissingEpisode(show.Id, seasonNumber, episodeNumber)); }
public async Task <ActionResult <EpisodeDetailedDTO> > Get(int id) { var episode = await _repository.FindAsync(id); if (episode == null) { return(NotFound()); } return(episode); }
public async Task UpdateEpisodeAsync(IUpdateEpisodeModel updateModel) { if (updateModel == null) { throw new ArgumentNullException(nameof(updateModel)); } await _updateEpisodeValidator.ValidateAndThrowAsync(updateModel); Episode episodeToUpdate = await _episodeRepository.FindAsync(updateModel.Id); episodeToUpdate.Name = updateModel.Name; }
public async Task DeleteAsync(int id) { Episode?episodeToDelete = await _episodeRepository.FindAsync(id); _episodeRepository.Delete(episodeToDelete); }