// GET: Sessoes/Edit/5 public ActionResult Edit(int?id) { if (id == null) { ViewBag.Mensagem = "Não existe Sessão com esse id= " + id; return(View("~/Views/Shared/Error.cshtml")); } Sessao sessao = db.Sessao.Find(id); if (sessao == null) { ViewBag.Mensagem = "Não existe Sessão com esse id= " + id; return(View("~/Views/Shared/Error.cshtml")); } SessaoEditViewModel ViewModel = new SessaoEditViewModel { SessaoID = sessao.SessaoID, Data = sessao.Data, HorarioInicio = sessao.HorarioInicio, HorarioFim = sessao.HorarioFim, ValorIngresso = sessao.ValorIngresso, SalaAudioAnimacaoID = sessao.SalaAudioAnimacaoID, SalaAudioAnimacaoSelectList = new SelectList(db.vwSala, "SalaAudioAnimacaoID", "SalaNome", sessao.SalaAudioAnimacaoID), FilmeID = sessao.FilmeID, FilmeSelectList = new SelectList(db.Filme, "FilmeID", "Titulo", sessao.FilmeID) }; return(View(ViewModel)); }
public ActionResult Edit([Bind(Include = "SessaoID,Data,HorarioInicio,HorarioFim,ValorIngresso,SalaAudioAnimacaoID,SalaAudioAnimacaoSelectList,FilmeID,FilmeSelectList")] SessaoEditViewModel ViewModel) { if (ModelState.IsValid) { try { if ( HasConflitoHorario(ViewModel.SalaAudioAnimacaoID.Value, ViewModel.Data.Value, ViewModel.HorarioInicio.Value, GetHoraFimSessao(ViewModel.HorarioInicio, ViewModel.FilmeID)) ) { ViewBag.PostError = GetDadosConflitoHorario(ViewModel.SalaAudioAnimacaoID.Value, ViewModel.Data.Value, ViewModel.HorarioInicio.Value, GetHoraFimSessao(ViewModel.HorarioInicio, ViewModel.FilmeID)); } else { var sessaoDb = db.Sessao.Where(s => s.SessaoID == ViewModel.SessaoID).FirstOrDefault(); if (sessaoDb != null) { sessaoDb.Data = ViewModel.Data.Value; sessaoDb.HorarioInicio = ViewModel.HorarioInicio.Value; sessaoDb.HorarioFim = ViewModel.HorarioInicio.Value; sessaoDb.ValorIngresso = ViewModel.ValorIngresso.Value; sessaoDb.SalaAudioAnimacaoID = ViewModel.SalaAudioAnimacaoID.Value; sessaoDb.FilmeID = ViewModel.FilmeID.Value; db.Entry(sessaoDb).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } } } catch (Exception ex) { var erro = ex.Message; var msg1 = ex.InnerException != null ? ex.InnerException.Message : ""; var msg2 = ex.InnerException != null ? (ex.InnerException.InnerException != null ? ex.InnerException.InnerException.Message : "") : ""; var finalMessage = erro + " " + msg1 + " " + msg2; ViewBag.Mensagem = finalMessage; return(View("~/Views/Shared/Error.cshtml")); } } ViewModel.SalaAudioAnimacaoSelectList = new SelectList(db.vwSala, "SalaAudioAnimacaoID", "SalaNome", ViewModel.SalaAudioAnimacaoID); ViewModel.FilmeSelectList = new SelectList(db.Filme, "FilmeID", "Titulo", ViewModel.FilmeID); return(View(ViewModel)); }