private async Task GetSeasonAndEpisodeInformation(Guid idShow, ShowInformation serieLocal) { // Si la saison est connu. if (_serieCollection.HaveSeason(idShow, serieLocal.Saison)) { // Si Episode est non connu. if (!_serieCollection.HaveEpisode(idShow, serieLocal.Saison, serieLocal.Episode)) { int idSerie = _serieCollection.GetIdSerieTmDb(idShow); TvEpisode episode = await ClientTmDb.GetTvEpisodeAsync(idSerie, serieLocal.Saison, serieLocal.Episode); lock (_objetToLock) { _serieCollection.AddEpisode(idShow, episode, serieLocal); } } } else { // Cas ou il ne connait pas la saison. int idSerie = _serieCollection.GetIdSerieTmDb(idShow); TvSeason saison = await ClientTmDb.GetTvSeasonAsync(idSerie, serieLocal.Saison); await Task.Delay(500); TvEpisode episode = await ClientTmDb.GetTvEpisodeAsync(idSerie, serieLocal.Saison, serieLocal.Episode); lock (_objetToLock) { _serieCollection.AddSaison(idShow, saison, episode, serieLocal); } } }
/// <summary> /// Permet de créer un nouveau ShowModel. /// </summary> /// <param name="serie"></param> /// <returns></returns> private async Task <ShowModel> CreateNewShowModel(ShowInformation serie) { ShowModel showModel = new ShowModel(); var temp = await ClientTmDb.SearchTvShowAsync(serie.Titre); await Task.Delay(500); if (temp.Results.Count > 0) { var tempSerieTrouve = temp.Results[0]; // Récupération des informations de TmDb. TvShow tvShow = await ClientTmDb.GetTvShowAsync(tempSerieTrouve.Id); await Task.Delay(500); TvSeason saison = await ClientTmDb.GetTvSeasonAsync(tempSerieTrouve.Id, serie.Saison); await Task.Delay(500); TvEpisode episode = await ClientTmDb.GetTvEpisodeAsync(tempSerieTrouve.Id, serie.Saison, serie.Episode); showModel.TvShow = tvShow; showModel.TvSeasons.Add(saison); showModel.TvEpisodes.Add(episode); showModel.ShowInformation.Add(serie); } return(showModel); }