コード例 #1
0
        public async Task <ActionResult> PutParqueAsync(int id, [FromBody] ParqueDto parqueDto)
        {
            if (parqueDto is null || id != parqueDto.Id)
            {
                return(BadRequest());
            }

            if (!await _parqueRepository.ParqueExistAsync(parqueDto.Nombre))
            {
                ModelState.AddModelError("", "El parque nacional no existe.");
                return(StatusCode(404, ModelState));
            }

            var parque = _mapper.Map <Parque>(parqueDto);

            if (!await _parqueRepository.UpdateParqueAsync(parque))
            {
                ModelState.AddModelError("", "Ha ocurrido un error al actualizar el parque nacional.");
                return(StatusCode(500, ModelState));
            }

            var newParqueDto = _mapper.Map <ParqueDto>(parque);

            return(NoContent());
        }
コード例 #2
0
        public async Task <ActionResult> PostParqueAsync([FromBody] ParqueDto parqueDto)
        {
            if (parqueDto is null)
            {
                return(BadRequest());
            }

            if (await _parqueRepository.ParqueExistAsync(parqueDto.Nombre))
            {
                ModelState.AddModelError("", "Ya existe un parque nacional con ese nombre.");
                return(StatusCode(404, ModelState));
            }

            var parque = _mapper.Map <Parque>(parqueDto);

            if (!await _parqueRepository.CreateParqueAsync(parque))
            {
                ModelState.AddModelError("", "Ha ocurrido un error al insertar el parque nacional.");
                return(StatusCode(500, ModelState));
            }

            var newParqueDto = _mapper.Map <ParqueDto>(parque);

            return(CreatedAtRoute("GetParqueAsync", new { id = newParqueDto.Id }, newParqueDto));
        }