Exemplo n.º 1
0
        public ActionResult play(Guid id)
        {
            JuegoPRViewModel model        = new JuegoPRViewModel();
            var         user              = User.Identity.GetUserId();
            var         historiepreguntas = new Repositorio <JuegoHistory>(db).TraerTodos().Where(x => x.Categoria.Id == id && x.Usuario.ApplicationUser.Id == user);
            var         preguntas         = new Repositorio <Pregunta>(db).TraerTodos().Where(x => x.Categoria.Id == id);
            var         categoria         = new Repositorio <Categoria>(db).Traer(id);
            Usuario     usuario           = new Repositorio <Usuario>(db).TraerTodos().FirstOrDefault(x => x.ApplicationUser.Id == user);
            Random      rnd           = new Random();
            List <Guid> historyPreg   = historiepreguntas.Select(x => x.Pregunta.Id).ToList();
            List <Guid> preguntasall  = preguntas.Select(x => x.Id).ToList();
            List <Guid> pregFaltantes = preguntasall.Except(historyPreg).ToList();

            int indice = rnd.Next(pregFaltantes.Count());

            if (pregFaltantes.Count > 0)
            {
                Pregunta preg = preguntas.ToList().Where(x => x.Id == pregFaltantes[indice]).FirstOrDefault();
                model.Nombre = preg.Nombre;
                model.PregId = preg.Id;
                model.catId  = categoria.Id;
                model.UserId = usuario.Id;

                model.RespuestaDisponibles = preg.Respuestas.Select(x => new JuegoRespuestaViewModel {
                    Id = x.Id, esCorrecta = x.Escorrecta, Nombre = x.Nombre
                }).ToList();
                return(View(model));
            }
            else
            {
                return(RedirectToAction("Result", new { id = categoria.Id }));
            }
        }
Exemplo n.º 2
0
 public JuegoHistory(JuegoPRViewModel model, ApplicationDbContext db)
 {
     Nombre    = "History";
     Categoria = new Repositorio <Categoria>(db).Traer(model.catId);
     Respuesta = new Repositorio <Respuesta>(db).Traer(model.RespSeleccionada);
     Pregunta  = new Repositorio <Pregunta>(db).Traer(model.PregId);
     Usuario   = new Repositorio <Usuario>(db).Traer(model.UserId);
 }
Exemplo n.º 3
0
        public ActionResult saveGame(JuegoPRViewModel model)
        {
            //model.UserId = new Guid(User.Identity.GetUserId());
            var respuestas = new Repositorio <Respuesta>(db).TraerTodos().Where(x => x.Pregunta.Id == model.PregId);
            var respOk     = respuestas.Where(p => p.Escorrecta == true).Select(x => x.Id).FirstOrDefault();

            var hist = new JuegoHistory(model, db);

            new Repositorio <JuegoHistory>(db).Crear(hist);
            //var pelicula = new Repositorio<Pelicula>(db).Traer(Id);

            return(Json(new { Id = respOk, model = model }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 4
0
        public ActionResult saveGame(/*JuegoPRViewModel model*/)
        {
            if (string.IsNullOrEmpty(this.error))
            {
                JuegoPRViewModel model = Newtonsoft.Json.JsonConvert.DeserializeObject <JuegoPRViewModel>(this.Contenido);
                //model.UserId = new Guid(User.Identity.GetUserId());
                var respuestas = new Repositorio <Respuesta>(db).TraerTodos().Where(x => x.Pregunta.Id == model.PregId);
                var respOk     = respuestas.Where(p => p.Escorrecta == true).Select(x => x.Id).FirstOrDefault();

                var hist = new JuegoHistory(model, db);
                new Repositorio <JuegoHistory>(db).Crear(hist);
                //var pelicula = new Repositorio<Pelicula>(db).Traer(Id);
                return(Json(new { Id = respOk, model = model }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { error = this.error }, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 5
0
        public ActionResult play()
        {
            if (string.IsNullOrEmpty(this.error))
            {
                Guid             id           = Newtonsoft.Json.JsonConvert.DeserializeObject <Guid>(this.Contenido);
                JuegoPRViewModel model        = new JuegoPRViewModel();
                var         user              = this.usuarioId;
                var         historiepreguntas = new Repositorio <JuegoHistory>(db).TraerTodos().Where(x => x.Categoria.Id == id && x.Usuario.ApplicationUser.Id == user);
                var         preguntas         = new Repositorio <Pregunta>(db).TraerTodos().Where(x => x.Categoria.Id == id);
                var         categoria         = new Repositorio <Categoria>(db).Traer(id);
                Usuario     usuario           = new Repositorio <Usuario>(db).TraerTodos().FirstOrDefault(x => x.ApplicationUser.Id == user);
                Random      rnd           = new Random();
                List <Guid> historyPreg   = historiepreguntas.Select(x => x.Pregunta.Id).ToList();
                List <Guid> preguntasall  = preguntas.Select(x => x.Id).ToList();
                List <Guid> pregFaltantes = preguntasall.Except(historyPreg).ToList();

                int indice = rnd.Next(pregFaltantes.Count());
                if (pregFaltantes.Count > 0)
                {
                    Pregunta preg = preguntas.ToList().Where(x => x.Id == pregFaltantes[indice]).FirstOrDefault();
                    model.Nombre = preg.Nombre;
                    model.PregId = preg.Id;
                    model.catId  = categoria.Id;
                    model.UserId = usuario.Id;

                    model.RespuestaDisponibles = preg.Respuestas.Select(x => new JuegoRespuestaViewModel {
                        Id = x.Id, esCorrecta = x.Escorrecta, Nombre = x.Nombre
                    }).ToList();
                    return(Json(new { model = model, Result = "" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { Result = categoria.Id }, JsonRequestBehavior.AllowGet));
                }
                //return RedirectToAction("Result", new { id = categoria.Id });
            }
            else
            {
                return(Json(new { error = this.error }, JsonRequestBehavior.AllowGet));
            }
        }