public ActionResult Create(GramaticasCreateViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                viewModel.Gramatica.SubTemaId = viewModel.SubTema.SubTemaId;
                viewModel.Gramatica.Orden     = db.Gramaticas.Count(grama => grama.SubTemaId == viewModel.SubTema.SubTemaId) + 1;
                db.Gramaticas.Add(viewModel.Gramatica);
                db.SaveChanges();


                ActualizarCuerpo(viewModel.Gramatica);

                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 }));
            }
            viewModel.SubTema = db.SubTemas.Find(viewModel.SubTema.SubTemaId);
            viewModel.Tema    = db.Temas.Find(viewModel.SubTema.TemaId);
            return(View(viewModel));
        }
        // GET: Admin/Gramaticas/Create
        public ActionResult Create(int id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SubTema subTema = db.SubTemas.FirstOrDefault(a => a.SubTemaId == id);

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


            GramaticasCreateViewModel viewModel = new GramaticasCreateViewModel();

            viewModel.SubTema = subTema;
            viewModel.Tema    = db.Temas.Find(viewModel.SubTema.TemaId);
            viewModel.CargarClienteSeleccionado(db);

            return(View(viewModel));
        }