public IActionResult CreateChallenge([Required][FromBody] ChallengeCreation creation) { if (creation == null) { return(BadRequest()); } _challengeCommand.SaveChallenge(creation); return(Ok()); }
public void SaveChallenge(ChallengeCreation challenge) { var mappedChallenge = _mapper.Map <Challenge>(challenge); var listObstacles = _mapper.Map <IEnumerable <Obstacle> >(challenge.Obstacles); foreach (var segment in mappedChallenge.Segments) { segment.Obstacles = listObstacles; } // var listSegments = new List<Segment>(); // foreach (var segment in challenge.Segments) // { // var mappedSegment = new Segment( // 0, // TODO : get value of challengeId from ef core ? // segment.idStartWaypoint, // segment.idEndWaypoint, // segment.listSegmentPoints // ); // listSegments.Add(mappedSegment); // } // // var listWaypoints = new List<Waypoint>(); // foreach (var waypoint in challenge.Waypoints) // { // var mappedWaypoint = new Waypoint( // waypoint.id, // 0, // challenge id est généré en bdd auto increment? // waypoint.x, // waypoint.y // ); // listWaypoints.Add(mappedWaypoint); // } // // var listObstacles = new List<Obstacle>(); // foreach (var obstacle in challenge.Obstacles) // { // var mappedObstacle = new Obstacle( // obstacle.idSegment, // obstacle.segmentProgressionPercent, // obstacle.title, // obstacle.description, // obstacle.type // ); // listObstacles.Add(mappedObstacle); // } //var mappedSegments = _mapper.Map<List<Segment>>(challenge.Segments); //var mappedWaypoints = _mapper.Map<List<Waypoint>>(challenge.Waypoints); //var mappedObstacles = _mapper.Map<List<Obstacle>>(challenge.Obstacles); _challengeRepository.CreateChallenge(mappedChallenge); //_challengeRepository.CreateFullChallenge(mappedChallenge, listSegments, listWaypoints, listObstacles); }
public IActionResult UpdateChallenge([FromRoute(Name = "id")] int id, [Required][FromBody] ChallengeCreation update) { if (update == null) { return(BadRequest()); } _challengeCommand.UpdateChallenge(id, update); return(Ok()); }
public void UpdateChallenge(int id, ChallengeCreation update) { var challenge = _mapper.Map <Challenge>(update); _challengeRepository.UpdateChallenge(id, challenge); }