public ActionResult Create()
        {
            var exposicao = new Exposicao();

            exposicao.Temas = new List <Tema>();
            ViewBag.Temas   = museuDB.PopulateAssignedTemaData(exposicao);
            return(View());
        }
        public ActionResult Edit(int?id)
        {
            Exposicao exposicao = db.Exposicao.Include(t => t.Temas).SingleOrDefault(u => u.ExposicaoID == id);

            if (exposicao == null || id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ViewBag.Temas = museuDB.PopulateAssignedTemaData(exposicao);
            return(View(exposicao));
        }
 public ActionResult Create([Bind(Include = "Nome,DataInicial,DataFinal,Duracao,NrItens")] Exposicao exposicao, string[] selectedTemas)
 {
     if (ModelState.IsValid)
     {
         ObjetoMuseu oExposicao = new ObjExposicao(exposicao);
         if (oExposicao.Validar() == null)
         {
             oExposicao.SalvarBd(db);
             var exposicaoUpdate = db.Exposicao.Include(t => t.Temas).Single(e => e.ExposicaoID == exposicao.ExposicaoID);
             museuDB.UpdateTemas(selectedTemas, exposicaoUpdate, db);
         }
         else
         {
             exposicao.Temas = new List <Tema>();
             ViewBag.Temas   = museuDB.PopulateAssignedTemaData(exposicao);
             ModelState.AddModelError("", oExposicao.Validar());
             return(View());
         }
         ModelState.Clear();
         TempData["Message"] = exposicao.Nome + " adicionado com sucesso";
     }
     return(RedirectToAction("Index"));
 }