Ejemplo n.º 1
0
        public IActionResult CriarPontoTuristico(int idCidade, [FromBody] PontoTuristicoNovoDTO pontoTuristico)
        {
            if (pontoTuristico == null)
            {
                return(BadRequest("Objeto para criação inválido"));
            }

            if (!_repository.CidadeExiste(idCidade))
            {
                return(NotFound($"Nenhuma Cidade Com id {idCidade} foi encontrada na base"));
            }

            var cidade = _repository.ObterCidade(idCidade, false);



            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            var novoPontoTuristico = AutoMapper.Mapper.Map <PontoTuristico>(pontoTuristico);

            _repository.AdicionaPontoTuristicoNaCidade(idCidade, novoPontoTuristico);



            if (!_repository.Salvar())
            {
                return(StatusCode(500, "Não foi possível persistir o ponto turístico"));
            }

            var pontoTuristicoCriadoDTO = AutoMapper.Mapper.Map <PontoTuristicoDTO>(novoPontoTuristico);


            return(CreatedAtRoute("ObterPontoTuristico", new { idCidade = idCidade, id = pontoTuristicoCriadoDTO.Id }, pontoTuristicoCriadoDTO));
        }