Exemplo n.º 1
0
        public async Task <IActionResult> EditDeck([Bind("Deck, IdTournament")] Joueur joueur)
        {
            if (joueur.IdTournament < 1 || !int.TryParse(HttpContext.Session.GetString("UserId"), out int IdUser))
            {
                return(NotFound());
            }

            string error = null;

            if (ModelState.IsValid)
            {
                joueur.User.IdUser = IdUser;


                var retourApis = new List <RetourAPI>();
                foreach (var d in joueur.Decks)
                {
                    retourApis.Add(await CallAPI.EditDeck(d));
                }

                if (retourApis.Count > 0 && retourApis.All(r => r.Succes))
                {
                    return(RedirectToAction("Details", "Tournois", new { id = joueur.IdTournament }));
                }

                error = string.Join("<br/>", retourApis.Where(r => !(r.Succes)).Select(r => r.Message));
            }

            return(RedirectToAction("EditDeck", new { IdTournoi = joueur.IdTournament, error = error }));
        }