/// <summary> /// Ajoute les id de collections à tout les films /// </summary> /// <returns></returns> private async Task UpdateFilmForCollection() { var movieDbBusiness = new MovieDbBusiness(); var filmBusiness = new FilmBusiness(); await filmBusiness.Initialization; var listeFilm = await Bdd.Connection.Table <Film>().Where(x => x.IdInternet > 0 && x.Type == (int)TypeFilmEnum.FILM).ToListAsync(); foreach (var film in listeFilm) { try { //récupère les infos d'internet var tuple = await movieDbBusiness.GetIdCollectionInternet(film.IdInternet); Task.Delay(250).Wait();//délai d'attente pour éviter de dépasser les 40 requetes par 10 secondes var idCollectionInternet = tuple.Item2; var nomCollection = tuple.Item1; //si il y a bien une collection pour ce film, on ajoute le film à la collection if (idCollectionInternet > 0) { film.IdCollectionInternet = idCollectionInternet; film.NomCollection = nomCollection; //ajout de l'id de la collection local var idCollection = await filmBusiness.GetIdCollectionFromIdInternet(idCollectionInternet); //si la collection n'existait pas on la créer if (idCollection == -1) { film.OrdreCollection = 1; await filmBusiness.AjouterFilmCollection(film); } else //si elle existe on récupère l'id et met à jour les ordres { film.IdCollection = idCollection; var ordre = await filmBusiness.GetNumeroSuivantCollectionInternet(idCollectionInternet, film.Annee ?? -1, film.IdInternet); film.OrdreCollection = ordre; await Bdd.UpdateDonnee(film); await filmBusiness.ReorganizeOrdreCollection(idCollection); } } } catch (Exception) { // ignored } } }