예제 #1
0
        public IActionResult CreateChallenge([Required][FromBody] ChallengeCreation creation)
        {
            if (creation == null)
            {
                return(BadRequest());
            }

            _challengeCommand.SaveChallenge(creation);
            return(Ok());
        }
예제 #2
0
        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);
        }
예제 #3
0
        public IActionResult UpdateChallenge([FromRoute(Name = "id")] int id,
                                             [Required][FromBody] ChallengeCreation update)
        {
            if (update == null)
            {
                return(BadRequest());
            }

            _challengeCommand.UpdateChallenge(id, update);

            return(Ok());
        }
예제 #4
0
        public void UpdateChallenge(int id, ChallengeCreation update)
        {
            var challenge = _mapper.Map <Challenge>(update);

            _challengeRepository.UpdateChallenge(id, challenge);
        }