Пример #1
0
        public IActionResult CreateDestinationCollection(
            [FromBody] IEnumerable <DestinationForCreationDto> destinationCollection)
        {
            if (destinationCollection == null)
            {
                return(BadRequest());
            }

            var destinationEntities = Mapper.Map <IEnumerable <Destination> >(destinationCollection);

            foreach (var destination in destinationEntities)
            {
                _tripInfoRepository.AddDestination(destination);
            }

            if (!_tripInfoRepository.Save())
            {
                throw new Exception("Creating an destination collection failed on save.");
            }

            var destinationCollectionToReturn = Mapper.Map <IEnumerable <DestinationDto> >(destinationEntities);
            var idsAsString = string.Join(",",
                                          destinationCollectionToReturn.Select(a => a.Id));

            return(CreatedAtRoute("GetDestinationCollection",
                                  new { ids = idsAsString },
                                  destinationCollectionToReturn));
            //return Ok();
        }
Пример #2
0
        public IActionResult CreateDestination([FromBody] DestinationForCreationDto destination)
        {
            if (destination == null)
            {
                return(BadRequest());
            }

            var destinationEntity = Mapper.Map <Destination>(destination);

            _tripInfoRepository.AddDestination(destinationEntity);

            if (!_tripInfoRepository.Save())
            {
                throw new Exception("Creating an destination failed on save.");
                // return StatusCode(500, "A problem happened with handling your request.");
            }

            var destinationToReturn = Mapper.Map <DestinationDto>(destinationEntity);

            return(CreatedAtRoute("GetDestination",
                                  new { id = destinationToReturn.Id },
                                  destinationToReturn));
        }