Exemplo n.º 1
0
        public JsonResult GetFillTheBox(int id)
        {
            FillTheBox fillTheBox = db.FillTheBoxs.Find(id);
            var        enunciado  = fillTheBox.Enunciado.Replace("#", "|#|").Split('|').ToList();

            var respuestas = fillTheBox.Respuestas.Split('#').ToList();

            if (!string.IsNullOrWhiteSpace(fillTheBox.RespuestasIncorrectas))
            {
                respuestas.AddRange(fillTheBox.RespuestasIncorrectas.Split('#').ToList());
            }
            respuestas.Shuffle();
            PreguntaFillTheBox pregunta = new PreguntaFillTheBox()
            {
                Titulo     = fillTheBox.Titulo,
                Audio      = fillTheBox.FicheroAudio,
                Imagen     = fillTheBox.UrlImagen,
                Enunciado  = enunciado.ToArray(),
                Respuestas = respuestas.ToArray()
            };



            return(Json(pregunta, JsonRequestBehavior.AllowGet));
        }
        // GET: Admin/FillTheBoxs/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FillTheBox FillTheBox = db.FillTheBoxs.Find(id);

            if (FillTheBox == null)
            {
                return(HttpNotFound());
            }

            var imgfullPath = Request.MapPath("~/media/upload/imagen_fillthebox/" + FillTheBox.UrlImagen);

            if (System.IO.File.Exists(imgfullPath))
            {
                System.IO.File.Delete(imgfullPath);
            }
            string fullPath = Request.MapPath("~/media/upload/audio_fillthebox/" + FillTheBox.FicheroAudio);

            if (System.IO.File.Exists(fullPath))
            {
                System.IO.File.Delete(fullPath);
            }
            db.FillTheBoxs.Remove(FillTheBox);
            db.SaveChanges();
            return(RedirectToAction("Create", "FillTheBoxs", new { id = FillTheBox.BloqueId }));
        }
        // GET: Admin/FillTheBoxs/Edit/5
        public ActionResult Edit(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            FillTheBox FillTheBox = db.FillTheBoxs.Find(id);

            if (FillTheBox == null)
            {
                return(HttpNotFound());
            }

            FillTheBoxEditViewModel viewModel = new FillTheBoxEditViewModel();

            viewModel.Inicializar(FillTheBox.BloqueId);

            viewModel.FillTheBox = FillTheBox;
            return(View(viewModel));
        }
Exemplo n.º 4
0
        public JsonResult Contestar(int id, string[] respuestas)
        {
            FillTheBox fillTheBox = db.FillTheBoxs.Find(id);

            bool[] correctas = new bool[respuestas.Length];
            bool   correcto  = true;

            string enunciadoOriginal = fillTheBox.Enunciado;

            enunciadoOriginal = enunciadoOriginal.Replace("#", "|#|");

            var enunciado = enunciadoOriginal.Split('|').ToArray();


            var respuestaReal = fillTheBox.Respuestas.Split('#').ToArray();



            int contadorTotal     = 0;
            int contadorrespuesta = 0;

            for (int i = 0; i < enunciado.Length; i++)
            {
                if (enunciado[i] != "")
                {
                    if (enunciado[i] == respuestas[contadorTotal])
                    {
                        correctas[contadorTotal] = true;
                    }
                    else if (enunciado[i] == "#")
                    {
                        if (contadorrespuesta < respuestas.Length)
                        {
                            if (respuestaReal[contadorrespuesta] == respuestas[contadorTotal])
                            {
                                correctas[contadorTotal] = true;
                            }
                            else
                            {
                                correcto = false;
                                correctas[contadorTotal] = false;
                            }
                        }
                        contadorrespuesta++;
                    }
                    else
                    {
                        correcto = false;
                        correctas[contadorTotal] = false;
                    }
                    contadorTotal++;
                }
            }

            ResultadoFillTheBox resultado = new ResultadoFillTheBox();

            resultado.correctas = correctas;

            resultado.Correcto = correcto;
            if (correcto)
            {
                AuthRepository  authRepository = new AuthRepository();
                ApplicationUser user           = authRepository.FindByName(User.Identity.Name);

                user.PuntosActual = user.PuntosActual + 1;
                user.PuntosTotal  = user.PuntosTotal + 1;

                var userResult = authRepository.Update(user);
            }
            resultado.Explicacion = fillTheBox.Explicacion;
            return(Json(resultado, JsonRequestBehavior.AllowGet));
        }