public IActionResult RespondMOPregunta([FromBody] RespondMOPreguntaDto dto) { var ident = User.Identity as ClaimsIdentity; var userID = ident.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value; Alumno alumno = _alumnos.GetById(userID); PreguntaMO pregunta = (PreguntaMO)_preguntas.GetById(dto.Id); foreach (int opcion in dto.Opciones) { var o = _opciones.GetById(opcion); o.RespuestasAsociadas.Add(new RespuestaLimitada { Alumno = alumno, Pregunta = pregunta }); _opciones.Update(o); } return(Ok()); }
public IActionResult Post([FromBody] EGPostEncuesta dto) { var ident = User.Identity as ClaimsIdentity; var userID = ident.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value; Adscripto adscripto = _adscriptos.GetById(userID); EncuestaGlobal toPost = new EncuestaGlobal { Titulo = dto.Titulo, Descripcion = dto.Descripcion, FechaCreacion = DateTime.Now, Adscripto = adscripto, Preguntas = new List <Pregunta>() }; foreach (EGPostPregunta dtoPregunta in dto.Preguntas) { switch (dtoPregunta.Tipo) { case 0: toPost.Preguntas.Add(new PreguntaEL { Texto = dtoPregunta.Texto, Respuestas = new List <RespuestaLibre>() }); break; case 1: var preguntaToPost = new PreguntaUO { Texto = dtoPregunta.Texto, Opciones = new List <PreguntaOpcion>() }; foreach (string dtoRespuesta in dtoPregunta.Respuestas) { preguntaToPost.Opciones.Add(new PreguntaOpcion { Pregunta = preguntaToPost, Valor = dtoRespuesta }); } toPost.Preguntas.Add(preguntaToPost); break; case 2: case 3: var moPreguntaToPost = new PreguntaMO { Texto = dtoPregunta.Texto, Opciones = new List <PreguntaOpcion>() }; foreach (string dtoRespuesta in dtoPregunta.Respuestas) { moPreguntaToPost.Opciones.Add(new PreguntaOpcion { Pregunta = moPreguntaToPost, Valor = dtoRespuesta }); } toPost.Preguntas.Add(moPreguntaToPost); break; } } _repo.Add(toPost); return(Ok(DtoGet(toPost))); }