コード例 #1
0
        // GET: Admin/Crucigramas/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Crucigrama Crucigrama = db.Crucigramas.Find(id);

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

            db.Crucigramas.Remove(Crucigrama);
            db.SaveChanges();
            return(RedirectToAction("Create", "Crucigramas", new { id = Crucigrama.BloqueId }));
        }
コード例 #2
0
        private Crucigrama CrearCeldas(Crucigrama crucigrama)
        {
            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();
            return(crucigrama);
        }
コード例 #3
0
        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));
        }