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)); }
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)); } }