Example #1
0
        //// 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));
        }