public bool GuardarTestServicios(JObject jdata)
        {
            dynamic    json       = jdata;
            var        a          = json.TestAlumno;
            TestAlumno testAlumno = a.ToObject <TestAlumno>();

            try
            {
                int  CarreraId = int.Parse(testAlumno.Carrera), PeriodoId = int.Parse(testAlumno.Periodo), CategoriaId = testAlumno.ServicioId;
                bool sabatino = bool.Parse(testAlumno.Sabatino);
                testAlumno.Preguntas.ForEach(Preg =>
                {
                    int PregId = int.Parse(Preg.PreguntaId), OpcionId = int.Parse(Preg.Respuesta);
                    db.PreguntaServicios.Add(new PreguntaServicios
                    {
                        ConfiguracionEncuestaId = Preg.ConfiguracionEncuestaId,
                        CarreraId        = CarreraId,
                        CategoriaId      = CategoriaId,
                        FechaAplicacion  = DateTime.Now,
                        OpcionPreguntaId = OpcionId,
                        PeriodoId        = PeriodoId,
                        PreguntaId       = PregId,
                        EsSabatino       = sabatino
                    });
                });

                db.ComentarioServicios.Add(
                    testAlumno.Comentario.Length > 0 ?
                    new ComentarioServicios
                {
                    ConfiguracionEncuestaId = testAlumno.Preguntas.FirstOrDefault().ConfiguracionEncuestaId,
                    CarreraId       = CarreraId,
                    Comentario      = testAlumno.Comentario,
                    FechaAplicacion = DateTime.Now,
                    PeriodoId       = PeriodoId,
                    CategoriaId     = CategoriaId,
                    EsSabatino      = sabatino
                } : null);
                var alumnodb = db.AlumnoPruebaServicio.Where(o => o.AlumnoId == testAlumno.AlumnoId &&
                                                             o.PeriodoId == PeriodoId &&
                                                             o.ServicioId == testAlumno.ServicioId)
                               .ToList();

                db.AlumnoPruebaServicio.Add(
                    alumnodb.Count > 0 ? null :
                    new AlumnoPruebaServicio
                {
                    AlumnoId        = testAlumno.AlumnoId,
                    CarreraId       = CarreraId,
                    PeriodoId       = PeriodoId,
                    ServicioId      = testAlumno.ServicioId,
                    FechaAplicacion = DateTime.Now
                });

                db.SaveChanges();
                return(true);
                //db.ComentarioServicios;
                //db.AlumnoPruebaServicio;
            }
            catch { return(false); }
        }
        public bool GuardarTest(JObject jdata)
        {
            dynamic    json       = jdata;
            var        a          = json.TestAlumno;
            TestAlumno TestAlumno = a.ToObject <TestAlumno>();

            try
            {
                db.ComentarioDocente.Add(new ComentarioDocente
                {
                    ConfiguracionEncuestaId = TestAlumno.Preguntas.FirstOrDefault().ConfiguracionEncuestaId,
                    CarreraId       = int.Parse(TestAlumno.Carrera),
                    Comentario      = TestAlumno.Comentario,
                    DocenteId       = int.Parse(TestAlumno.Docente),
                    EsSabatino      = bool.Parse(TestAlumno.Sabatino),
                    MateriaId       = TestAlumno.MateriaId,
                    FechaAplicacion = DateTime.Now,
                    PeriodoId       = int.Parse(TestAlumno.Periodo)
                });
                TestAlumno.Preguntas.ForEach(pregunta => {
                    db.PreguntaDocente.Add(new PreguntaDocente
                    {
                        ConfiguracionEncuestaId = pregunta.ConfiguracionEncuestaId,
                        CarreraId        = int.Parse(TestAlumno.Carrera),
                        MateriaId        = TestAlumno.MateriaId,
                        DocenteId        = int.Parse(TestAlumno.Docente),
                        EsSabatino       = bool.Parse(TestAlumno.Sabatino),
                        FechaAplicacion  = DateTime.Now,
                        PeriodoId        = int.Parse(TestAlumno.Periodo),
                        PreguntaId       = int.Parse(pregunta.PreguntaId),
                        OpcionPreguntaId = int.Parse(pregunta.Respuesta)
                    });
                });

                int carrera = int.Parse(TestAlumno.Carrera),
                    docente = int.Parse(TestAlumno.Docente),
                    periodo = int.Parse(TestAlumno.Periodo);
                AlumnoMateria objAlumnoE = db.AlumnoMateria.Where(k =>
                                                                  k.AlumnoId == TestAlumno.AlumnoId &&
                                                                  k.CarreraId == carrera &&
                                                                  k.DocenteId == docente &&
                                                                  k.PeriodoId == periodo &&
                                                                  k.MateriaId == TestAlumno.MateriaId).FirstOrDefault();
                db.AlumnoMateria.Remove(objAlumnoE);

                if (db.AlumnoPrueba.Where(k =>
                                          k.AlumnoId == TestAlumno.AlumnoId &&
                                          k.CarreraId == carrera &&
                                          k.PeriodoId == periodo).
                    ToList().Count == 0)
                {
                    db.AlumnoPrueba.Add(new AlumnoPrueba
                    {
                        AlumnoId        = TestAlumno.AlumnoId,
                        CarreraId       = int.Parse(TestAlumno.Carrera),
                        Estatus         = true,
                        FechaAplicacion = DateTime.Now,
                        PeriodoId       = int.Parse(TestAlumno.Periodo)
                    });
                }
                db.SaveChanges();
                return(true);
            }
            catch
            {
                return(false);
            }
        }