public ActionResult Create(JuegoCreateViewModel viewModel)
        {
            //fichero pdf
            //"~/media/upload/Juegos_puntos/"

            if (ModelState.IsValid)
            {
                viewModel.Juego.SubTemaId = viewModel.Subtema.SubTemaId;
                db.Juegos.Add(viewModel.Juego);
                db.SaveChanges();
                if (viewModel.File != null)
                {
                    viewModel.Juego.Fichero = viewModel.Juego.JuegoId + ".pdf";

                    string nameAndLocation = "~/media/upload/juegos/" + viewModel.Juego.Fichero;
                    viewModel.File.SaveAs(Server.MapPath(nameAndLocation));

                    db.Entry(viewModel.Juego).State = EntityState.Modified;
                    db.SaveChanges();
                }
                AccesoClientesHelper.AnyadirJuegoConHijos(viewModel.Juego.JuegoId, viewModel.Clientes.Where(cli => cli.Selected)
                                                          .Select(cli => Convert.ToInt32(cli.Value)).ToList());
                return(RedirectToAction("Index", "Bloques", new { id = viewModel.Juego.SubTemaId, pestanya = (int)PestanyasBloques.JuegosOffline }));
            }
            viewModel.InicializarDesplegables();
            return(View(viewModel));
        }
Example #2
0
        public ActionResult Create(JuegoOnlinesCreateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                viewModel.JuegoOnline.SubTemaId = viewModel.Subtema.SubTemaId;
                db.JuegoOnlines.Add(viewModel.JuegoOnline);
                db.SaveChanges();


                if (viewModel.JuegoOnline.TipoJuegoOnlineId == (int)TiposDeJuegosOnlineId.SopaLetras)
                {
                    CrearSopaLetras(viewModel);
                }

                AccesoClientesHelper.AnyadirJuegoOnlineConHijos(viewModel.JuegoOnline.JuegoOnlineId, viewModel.Clientes.Where(cli => cli.Selected)
                                                                .Select(cli => Convert.ToInt32(cli.Value)).ToList());

                TipoJuegoOnline tipoJuegoOnline = db.TipoJuegoOnlines.Find(viewModel.JuegoOnline.TipoJuegoOnlineId);
                return(RedirectToAction("Create", tipoJuegoOnline.Controlador, new { id = viewModel.JuegoOnline.JuegoOnlineId }));
            }

            var subtema = db.SubTemas.Include(s => s.Tema).SingleOrDefault(s => s.SubTemaId == viewModel.Subtema.SubTemaId);

            viewModel.Subtema = subtema;
            viewModel.InicializarDesplegables();
            return(View(viewModel));
        }
        public ActionResult Edit(JuegoEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                if (viewModel.File != null)
                {
                    string fullPath = Request.MapPath("~/media/upload/juegos/" + viewModel.Juego.Fichero);
                    if (System.IO.File.Exists(fullPath))
                    {
                        System.IO.File.Delete(fullPath);
                    }
                    viewModel.Juego.Fichero = viewModel.Juego.JuegoId + ".pdf";


                    string nameAndLocation = "~/media/upload/juegos/" + viewModel.Juego.Fichero;
                    viewModel.File.SaveAs(Server.MapPath(nameAndLocation));
                }
                db.Entry(viewModel.Juego).State = EntityState.Modified;
                db.SaveChanges();
                AccesoClientesHelper.AnyadirJuegoConHijos(viewModel.Juego.JuegoId, viewModel.Clientes.Where(cli => cli.Selected)
                                                          .Select(cli => Convert.ToInt32(cli.Value)).ToList());
                return(RedirectToAction("Index", "Bloques", new { id = viewModel.Juego.SubTemaId, pestanya = (int)PestanyasBloques.JuegosOffline }));
            }

            viewModel.InicializarDesplegables();
            return(View(viewModel));
        }
        public ActionResult Create(TemaCreateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                db.Temas.Add(viewModel.Tema);
                db.SaveChanges();


                AccesoClientesHelper.AnyadirTemaConHijos(viewModel.Tema.TemaId, viewModel.Clientes.Where(cli => cli.Selected)
                                                         .Select(cli => Convert.ToInt32(cli.Value)).ToList());

                return(RedirectToAction("Index", new { }));
            }
            return(View(viewModel));
        }
Example #5
0
        public ActionResult Edit(JuegoOnlinesEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                db.Entry(viewModel.JuegoOnline).State = EntityState.Modified;
                db.SaveChanges();
                AccesoClientesHelper.AnyadirJuegoOnlineConHijos(viewModel.JuegoOnline.JuegoOnlineId, viewModel.Clientes.Where(cli => cli.Selected)
                                                                .Select(cli => Convert.ToInt32(cli.Value)).ToList());

                TipoJuegoOnline tipoJuegoOnline = db.TipoJuegoOnlines.Find(viewModel.JuegoOnline.TipoJuegoOnlineId);
                return(RedirectToAction("Index", "Bloques", new { id = viewModel.JuegoOnline.SubTemaId, pestanya = (int)PestanyasBloques.JuegosOnline }));
            }

            return(View(viewModel));
        }
Example #6
0
        public ActionResult Edit(SubTemasEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                db.Entry(viewModel.SubTema).State = EntityState.Modified;
                db.SaveChanges();
                AccesoClientesHelper.AnyadirSubTemaConHijos(viewModel.SubTema.SubTemaId, viewModel.Clientes.Where(cli => cli.Selected)
                                                            .Select(cli => Convert.ToInt32(cli.Value)).ToList());

                return(RedirectToAction("Index", new { id = viewModel.SubTema.TemaId }));
            }

            viewModel.Tema = db.Temas.Find(viewModel.Tema.TemaId);

            return(View(viewModel));
        }
Example #7
0
        public ActionResult Edit(SubTemaVideoEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                db.Entry(viewModel.SubTemaVideo).State = EntityState.Modified;
                db.SaveChanges();
                AccesoClientesHelper.AnyadirSubTemaVideoConHijos(viewModel.SubTemaVideo.SubTemaVideoId, viewModel.Clientes.Where(cli => cli.Selected)
                                                                 .Select(cli => Convert.ToInt32(cli.Value)).ToList());
                return(RedirectToAction("Index", "Bloques", new { id = viewModel.SubTemaVideo.SubTemaId, pestanya = (int)PestanyasBloques.Videos }));
            }

            var subtema = db.SubTemas.Include(s => s.Tema).SingleOrDefault(s => s.SubTemaId == viewModel.SubTemaVideo.SubTemaId);

            viewModel.Subtema = subtema;
            return(View(viewModel));
        }
        public ActionResult Edit(BloquesEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                db.Entry(viewModel.Bloque).State = EntityState.Modified;
                db.SaveChanges();

                AccesoClientesHelper.AnyadirBloqueConHijos(viewModel.Bloque.BloqueId, viewModel.Clientes.Where(cli => cli.Selected)
                                                           .Select(cli => Convert.ToInt32(cli.Value)).ToList());

                TipoEjercicio tipoEjercicio = db.TipoEjercicios.Find(viewModel.Bloque.TipoEjercicioId);
                return(RedirectToAction("Index", "Bloques", new { id = viewModel.Bloque.SubTemaId }));
            }

            return(View(viewModel));
        }
Example #9
0
        public ActionResult Create(SubTemasCreateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                viewModel.SubTema.TemaId = viewModel.Tema.TemaId;
                viewModel.SubTema.Orden  = db.SubTemas.Count(subtema => subtema.TemaId == viewModel.Tema.TemaId) + 1;
                db.SubTemas.Add(viewModel.SubTema);
                db.SaveChanges();

                AccesoClientesHelper.AnyadirSubTemaConHijos(viewModel.SubTema.SubTemaId, viewModel.Clientes.Where(cli => cli.Selected)
                                                            .Select(cli => Convert.ToInt32(cli.Value)).ToList());

                return(RedirectToAction("Index", new { id = viewModel.Tema.TemaId }));
            }
            viewModel.Tema = db.Temas.Find(viewModel.Tema.TemaId);
            return(View(viewModel));
        }
Example #10
0
        public ActionResult Create(SubTemaVideoCreateViewModel viewModel)
        {
            //fichero pdf
            //"~/media/upload/SubTemaVideos_puntos/"

            if (ModelState.IsValid)
            {
                viewModel.SubTemaVideo.SubTemaId = viewModel.Subtema.SubTemaId;
                db.SubTemaVideos.Add(viewModel.SubTemaVideo);
                db.SaveChanges();
                AccesoClientesHelper.AnyadirSubTemaVideoConHijos(viewModel.SubTemaVideo.SubTemaVideoId, viewModel.Clientes.Where(cli => cli.Selected)
                                                                 .Select(cli => Convert.ToInt32(cli.Value)).ToList());

                return(RedirectToAction("Index", "Bloques", new { id = viewModel.SubTemaVideo.SubTemaId, pestanya = (int)PestanyasBloques.Videos }));
            }
            return(View(viewModel));
        }
        public ActionResult Edit(GramaticasEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                ActualizarCuerpo(viewModel.Gramatica);
                viewModel.Gramatica.Cuerpo          = null;
                db.Entry(viewModel.Gramatica).State = EntityState.Modified;
                db.SaveChanges();
                AccesoClientesHelper.AnyadirGramaticaConHijos(viewModel.Gramatica.GramaticaId, viewModel.Clientes.Where(cli => cli.Selected)
                                                              .Select(cli => Convert.ToInt32(cli.Value)).ToList());

                return(RedirectToAction("Index", "Bloques", new { id = viewModel.SubTema.SubTemaId, pestanya = (int)PestanyasBloques.Gramaticas }));
            }

            viewModel.SubTema = db.SubTemas.Find(viewModel.SubTema.SubTemaId);
            viewModel.Tema    = db.Temas.Find(viewModel.SubTema.TemaId);

            return(View(viewModel));
        }
Example #12
0
        public ActionResult Create(ExtraCreateViewModel viewModel)
        {
            //fichero pdf
            //"~/media/upload/extras_puntos/"

            if (ModelState.IsValid)
            {
                viewModel.Extra.SubTemaId = viewModel.Subtema.SubTemaId;

                viewModel.Extra.Orden = db.Extras.Count(extra => extra.CategoriaExtraId == viewModel.Extra.CategoriaExtraId && extra.SubTemaId == viewModel.Extra.SubTemaId) + 1;
                db.Extras.Add(viewModel.Extra);
                db.SaveChanges();
                if (viewModel.AudioFile != null)
                {
                    viewModel.Extra.Audio = viewModel.Extra.ExtraId + ".mp3";

                    string nameAndLocation = "~/media/upload/extras_audios/" + viewModel.Extra.Audio;
                    viewModel.AudioFile.SaveAs(Server.MapPath(nameAndLocation));

                    db.Entry(viewModel.Extra).State = EntityState.Modified;
                    db.SaveChanges();
                }
                if (viewModel.ImageFile != null)
                {
                    viewModel.Extra.Foto = viewModel.Extra.ExtraId + ".jpg";

                    string nameAndLocation = "~/media/upload/extras_imagenes/" + viewModel.Extra.Foto;
                    viewModel.ImageFile.SaveAs(Server.MapPath(nameAndLocation));

                    db.Entry(viewModel.Extra).State = EntityState.Modified;
                    db.SaveChanges();
                }

                AccesoClientesHelper.AnyadirExtraConHijos(viewModel.Extra.ExtraId, viewModel.Clientes.Where(cli => cli.Selected)
                                                          .Select(cli => Convert.ToInt32(cli.Value)).ToList());
                return(RedirectToAction("Index", "Bloques", new { id = viewModel.Extra.SubTemaId, pestanya = (int)PestanyasBloques.Extras }));
            }
            var subtema = db.SubTemas.Include(s => s.Tema).SingleOrDefault(s => s.SubTemaId == viewModel.Subtema.SubTemaId);

            viewModel.Subtema = subtema;
            viewModel.InicializarDesplegables();
            return(View(viewModel));
        }
Example #13
0
        public ActionResult Edit(ExtraEditViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                if (viewModel.AudioFile != null)
                {
                    string fullPath = Request.MapPath("~/media/upload/extras_audios/" + viewModel.Extra.Audio);
                    if (System.IO.File.Exists(fullPath))
                    {
                        System.IO.File.Delete(fullPath);
                    }
                    viewModel.Extra.Audio = viewModel.Extra.ExtraId + ".mp3";

                    string nameAndLocation = "~/media/upload/extras_audios/" + viewModel.Extra.Audio;
                    viewModel.AudioFile.SaveAs(Server.MapPath(nameAndLocation));
                }

                if (viewModel.ImageFile != null)
                {
                    string fullPath = Request.MapPath("~/media/upload/extras_imagenes/" + viewModel.Extra.Foto);
                    if (System.IO.File.Exists(fullPath))
                    {
                        System.IO.File.Delete(fullPath);
                    }
                    viewModel.Extra.Foto = viewModel.Extra.ExtraId + ".jpg";

                    string nameAndLocation = "~/media/upload/extras_imagenes/" + viewModel.Extra.Foto;
                    viewModel.ImageFile.SaveAs(Server.MapPath(nameAndLocation));
                }
                db.Entry(viewModel.Extra).State = EntityState.Modified;
                db.SaveChanges();

                AccesoClientesHelper.AnyadirExtraConHijos(viewModel.Extra.ExtraId, viewModel.Clientes.Where(cli => cli.Selected)
                                                          .Select(cli => Convert.ToInt32(cli.Value)).ToList());

                recalcularOrden(viewModel.Extra.CategoriaExtraId, viewModel.Extra.SubTemaId.GetValueOrDefault());
                return(RedirectToAction("Index", "Bloques", new { id = viewModel.Extra.SubTemaId, pestanya = (int)PestanyasBloques.Extras }));
            }

            viewModel.InicializarDesplegables();
            return(View(viewModel));
        }
        public ActionResult Create(BloquesCreateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                bool isValid = true;
                if (viewModel.Bloque.AreaId == (int)AreasId.Examen)
                {
                    if (viewModel.Bloque.TipoEjercicioId != (int)TiposDeEjerciciosId.Test && viewModel.Bloque.TipoEjercicioId != (int)TiposDeEjerciciosId.FillTheGap)
                    {
                        ModelState.AddModelError("Bloque.TipoEjercicioId", "El examen sólo puede ser Test o Fill the gap");
                        isValid = false;
                    }

                    var examen = db.Bloques.FirstOrDefault(bl => bl.AreaId == (int)AreasId.Examen && bl.SubTemaId == viewModel.Subtema.SubTemaId);
                    if (examen != null)
                    {
                        ModelState.AddModelError("Bloque.AreaId", "Ya existe un examen");
                        isValid = false;
                    }
                }
                if (isValid)
                {
                    viewModel.Bloque.SubTemaId = viewModel.Subtema.SubTemaId;
                    db.Bloques.Add(viewModel.Bloque);
                    db.SaveChanges();

                    AccesoClientesHelper.AnyadirBloqueConHijos(viewModel.Bloque.BloqueId, viewModel.Clientes.Where(cli => cli.Selected)
                                                               .Select(cli => Convert.ToInt32(cli.Value)).ToList());

                    if (viewModel.Bloque.TipoEjercicioId == (int)TiposDeEjerciciosId.Crucigrama)
                    {
                        var crucigrama = new Crucigrama()
                        {
                            AreaId          = viewModel.Bloque.AreaId,
                            BloqueId        = viewModel.Bloque.BloqueId,
                            Descripcion     = "Crucigrama",
                            Enunciado       = "Crucigrama",
                            Horizontales    = "Pistas de palabras horizontales",
                            SubTemaId       = viewModel.Bloque.SubTemaId,
                            TipoEjercicioId = viewModel.Bloque.TipoEjercicioId,
                            Verticales      = "Pistas de palabras verticales"
                        };
                        List <CasillaCrucigrama> icollection = new List <CasillaCrucigrama>();
                        for (int i = 0; i < 12; i++)
                        {
                            for (int j = 0; j < 12; j++)
                            {
                                icollection.Add(new CasillaCrucigrama()
                                {
                                    letra = "",
                                    PosH  = j,
                                    PosV  = i
                                });
                            }
                        }
                        crucigrama.CasillaCrucigramas = icollection;
                        db.Crucigramas.Add(crucigrama);
                        db.SaveChanges();
                    }

                    TipoEjercicio tipoEjercicio = db.TipoEjercicios.Find(viewModel.Bloque.TipoEjercicioId);
                    return(RedirectToAction("Create", tipoEjercicio.Controlador, new { id = viewModel.Bloque.BloqueId }));
                }
            }

            var subtema = db.SubTemas.Include(s => s.Tema).SingleOrDefault(s => s.SubTemaId == viewModel.Subtema.SubTemaId);

            viewModel.Subtema = subtema;
            viewModel.InicializarDesplegables();
            return(View(viewModel));
        }