Example #1
0
 public IActionResult Edit(PreguntaUpdateDto preguntaUpdateDto)
 {
     try
     {
         this.service.Edit(preguntaUpdateDto);
         return(Ok());
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Example #2
0
        public IActionResult UpdatePregunta(int asignacionId, int id, [FromBody] PreguntaUpdateDto PreguntaCambiar)
        {
            try
            {
                //Hace todas las comprobaciones de si las preguntas estan bien formadas
                //Tambien comprueba si existe la asignación y la pregunta y lo modifican si es asi
                if (PreguntaCambiar == null)
                {
                    return(BadRequest());
                }

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

                if (!_asignacionInfoRepository.AsignacionExiste(asignacionId))
                {
                    _logger.LogInformation($"La asignación con id {asignacionId} no pudo ser encontrado.");
                    return(NotFound());
                }

                var PreguntaEncontrada = _asignacionInfoRepository.GetPreguntaDeAsignacion(asignacionId, id);

                if (PreguntaEncontrada == null)
                {
                    return(NotFound());
                }

                Mapper.Map(PreguntaCambiar, PreguntaEncontrada);

                if (!_asignacionInfoRepository.SaveChanges())
                {
                    _logger.LogCritical("Ocurrio un error al guardar los cambios cuando intentamos actualizar una pregunta de asignación: " + asignacionId + ", id de pregunta: " + id);
                    return(StatusCode(500, "Ocurrio un problema en la petición."));
                }

                //Si todo salio bien dara un mensaje 200 con todo correcto
                return(Ok("Actualización correcta."));
            }
            catch (Exception ex)
            {
                _logger.LogCritical("Se recogio un error al recibir la petición de modificación de pregunta con id " + id + " y la asignación con id " + asignacionId + ": " + ex);
                return(StatusCode(500, "Un error ha ocurrido mientras se procesaba su petición."));
            }
        }
        public void Edit(PreguntaUpdateDto preguntaUpdateDto)
        {
            var pregunta = this._mapper.Map <Pregunta>(preguntaUpdateDto);

            this.Repository.Update(pregunta);
        }