//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));
        }
Exemplo n.º 4
0
 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));
     }
 }
Exemplo n.º 5
0
 public IActionResult AddCompleto(CuestionarioTodoDTO cuestionarioTodoDto)
 {
     try
     {
         return(new JsonResult(service.AddCuestionario(cuestionarioTodoDto))
         {
             StatusCode = 201
         });
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Exemplo n.º 6
0
        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);
        }