コード例 #1
0
        public async Task <IActionResult> AddFormation(FormationViewModel model)
        {
            List <Player> players = await _PlayerService.GetAllPlayers(model.TeamId);

            model.Players   = players;
            model.Positions = GetAllPositions();

            if (ModelState.IsValid)
            {
                List <Position> submittedPositions = new List <Position>();
                foreach (var player in players)
                {
                    Position position = (Position)Enum.Parse(typeof(Position), Request.Form[player.Id.ToString()], true);
                    submittedPositions.Add(position);
                }
                var errors = _FormationService.CheckFormation(submittedPositions);
                //check if there are exactly 11 field players and only 1 keeper
                if (errors.Count == 0)
                {
                    Formation formation = new Formation()
                    {
                        Name   = model.Name,
                        TeamId = model.TeamId
                    };
                    int id = await _FormationService.AddFormation(formation);

                    foreach (var player in players)
                    {
                        Position       position = (Position)Enum.Parse(typeof(Position), Request.Form[player.Id.ToString()], true);
                        PlayerPosition pp       = new PlayerPosition()
                        {
                            PlayerId    = player.Id,
                            Position    = position,
                            FormationId = id
                        };
                        await _FormationService.AddPlayerPosition(pp);
                    }
                    return(RedirectToAction("TeamHome", "Team", new { id = model.TeamId }));
                }
                foreach (var error in errors)
                {
                    ModelState.AddModelError("", error);
                }

                return(View(model));
            }
            return(View(model));
        }
コード例 #2
0
 public IActionResult AddFormation([FromBody] Formation formationToSave)
 {
     try
     {
         if (formationToSave == null)
         {
             return(BadRequest("Aucune Formation trouvé!"));
         }
         Formation saveResultItem = _formationService.AddFormation(formationToSave);
         return(Ok(saveResultItem));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }