示例#1
0
 public Ejercicio(string pNombre, string pDescripcion, bool pEstado, TipoEjercicio pTipoEjercicio)
 {
     this.iNombre        = pNombre;
     this.iDescripcion   = pDescripcion;
     this.iEstado        = pEstado;
     this.iTipoEjercicio = pTipoEjercicio;
 }
        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));
        }
示例#3
0
 /// <summary>
 /// Retorna los ejercicios por un tipo
 /// </summary>
 /// <param name="type">es el tipo de ejercicio</param>
 /// <returns></returns>
 public IEnumerable <Ejercicio> GetByType(TipoEjercicio type)
 {
     return(from x in MyGymContext.DB.Ejercicio.ToList() where x.Tipo.Equals(type) select x);
 }
        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));
        }