//Modificado public void ActualizarCuestionario(CuestionarioTodoDTO cuestionarioTodoDTO) { var cuestionario = repository.Traer <Cuestionario>().FirstOrDefault(x => x.ClaseId == cuestionarioTodoDTO.ClaseId); /* MODIFICO TAMBIÉN LAS CALIFICACIONES PARCIALES DEL GET BY CURSOID*/ /* * double calificacionParcial = 0; * var listPregunta = cuestionarioTodoDTO.Preguntas.ToList(); * * foreach (var p in listPregunta) * { * calificacionParcial += p.CalificacionParcial; * } * * if (calificacionParcial > 10.0 || calificacionParcial < 10.0) * { * throw new Exception("La suma de las calificaciones parciales excede o no cumple la calificacion maxima"); * }*/ cuestionario.Descripcion = cuestionarioTodoDTO.Descripcion; cuestionario.ClaseId = cuestionarioTodoDTO.ClaseId; this.repository.Update(cuestionario); var preguntas = repository.Traer <Pregunta>().Where(x => x.CuestionarioId == cuestionario.CuestionarioID).ToList(); foreach (var pregunta in preguntas) { repository.Delete(pregunta); } var listPreguntas = cuestionarioTodoDTO.Preguntas.ToList(); foreach (var p in listPreguntas) { var preguntaDb = new Pregunta() { CuestionarioId = cuestionario.CuestionarioID, Descripcion = p.Descripcion, CalificacionParcial = p.CalificacionParcial }; this.Repository.Add(preguntaDb); var listRespuestas = p.Respuestas; foreach (var r in listRespuestas) { var respuestaDb = new Respuesta() { Descripcion = r.Descripcion, Flag = r.Flag, PreguntaId = preguntaDb.PreguntaId }; this.Repository.Add(respuestaDb); } } }
//GET CUESTIONARIO POR CLASE public CuestionarioTodoDTO GetCuestionarioDeClase(int idClase) { CuestionarioTodoDTO cuestionarioCompleto = new CuestionarioTodoDTO(); var cuestionario = this.Repository.Traer <Cuestionario>().FirstOrDefault(x => x.ClaseId == idClase); cuestionarioCompleto = repository.GetCuestionarioCompleto(cuestionario); return(cuestionarioCompleto); }
//Modificado public CuestionarioRespuestaDTO AddCuestionario(CuestionarioTodoDTO cuestionarioTodoDTO) { double calificacionParcial = 0; var listPregunta = cuestionarioTodoDTO.Preguntas.ToList(); foreach (var p in listPregunta) { calificacionParcial += p.CalificacionParcial; } if (calificacionParcial > 10.0 || calificacionParcial < 10.0) { throw new Exception("La suma de las calificaciones parciales excede o no cumple la calificacion maxima"); } var cuestionarioDb = new Cuestionario() { Descripcion = cuestionarioTodoDTO.Descripcion, ClaseId = cuestionarioTodoDTO.ClaseId }; this.Repository.Add(cuestionarioDb); var listPreguntas = cuestionarioTodoDTO.Preguntas.ToList(); foreach (var p in listPreguntas) { var preguntaDb = new Pregunta() { CuestionarioId = cuestionarioDb.CuestionarioID, Descripcion = p.Descripcion, CalificacionParcial = p.CalificacionParcial }; this.Repository.Add(preguntaDb); var listRespuestas = p.Respuestas; foreach (var r in listRespuestas) { var respuestaDb = new Respuesta() { Descripcion = r.Descripcion, Flag = r.Flag, PreguntaId = preguntaDb.PreguntaId }; this.Repository.Add(respuestaDb); } } return(this._mapper.Map <CuestionarioRespuestaDTO>(cuestionarioDb)); }
public IActionResult Edit(CuestionarioTodoDTO cuestionario) { try { service.ActualizarCuestionario(cuestionario); return(Ok()); //return new JsonResult(service.Update(cuestionarioDTO)) { StatusCode = 201}; } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public IActionResult AddCompleto(CuestionarioTodoDTO cuestionarioTodoDto) { try { return(new JsonResult(service.AddCuestionario(cuestionarioTodoDto)) { StatusCode = 201 }); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public CuestionarioTodoDTO GetCuestionarioConRespuestasCorrectas(Cuestionario cuestionario) { PreguntaConRespuestaDTO preguntasConRespuesta; RespuestaDescripcionDTO respuesta; CuestionarioTodoDTO cuestionarioCompleto = new CuestionarioTodoDTO() { Descripcion = cuestionario.Descripcion, ClaseId = cuestionario.ClaseId }; List <PreguntaConRespuestaDTO> listaPreguntas = new List <PreguntaConRespuestaDTO>(); var lista = Context.Preguntas .Include(x => x.CuestionarioNavegator) .Include(x => x.RespuestaNavegator) .Where(x => x.CuestionarioId == cuestionario.CuestionarioID) .ToList(); foreach (Pregunta preguntas in lista) { var listaRespuestas = new List <RespuestaDescripcionDTO>(); foreach (Respuesta respuestas in preguntas.RespuestaNavegator) { if (respuestas.Flag == true) { respuesta = new RespuestaDescripcionDTO() { Descripcion = respuestas.Descripcion, Flag = respuestas.Flag }; listaRespuestas.Add(respuesta); } } preguntasConRespuesta = new PreguntaConRespuestaDTO() { Descripcion = preguntas.Descripcion, Respuestas = listaRespuestas }; listaPreguntas.Add(preguntasConRespuesta); } cuestionarioCompleto.Preguntas = listaPreguntas; return(cuestionarioCompleto); }