//// GET: Invocateur public async Task <ActionResult> Profil(string summonerId) { Invocateur invocateur = new Invocateur(); //Utilisateur en base ? if (db.Invocateurs.Where(x => x.Id == summonerId).Count() > 0) { invocateur = db.Invocateurs.Where(x => x.Id == summonerId).FirstOrDefault(); } //Sinon on récupère l'invocateur et on le sauvegarde en base else { invocateur = ConvertJson.ConvertJsonSummoner(await ApiCall.GetJsonSummoner(summonerId)); db.Invocateurs.Add(invocateur); db.SaveChanges(); } //On récupère les parties List <Partie> lastMatchs = new List <Partie>(); //L'utilisateur a des parties en base ? if (invocateur.DernieresParties.Count > 0) { db.Parties.Where(x => x.Joueur.Invocateur.Id == invocateur.Id).ToList(); } //Sinon on les récupères avec l'api et les stock en base else { lastMatchs = await ApiCall.GetGameHistory(invocateur.AccountId); db.Parties.AddRange(lastMatchs); db.SaveChanges(); } return(View(lastMatchs)); }