// GET: Sessoes/Create public ActionResult Create() { SessaoCreateViewModel viewModel = new SessaoCreateViewModel { SalaAudioAnimacaoSelectList = new SelectList(db.vwSala, "SalaAudioAnimacaoID", "SalaNome"), FilmeSelectList = new SelectList(db.Filme, "FilmeID", "Titulo") }; return(View(viewModel)); }
public ActionResult Create([Bind(Include = "Data,HorarioInicio,HorarioFim,ValorIngresso,SalaAudioAnimacaoID,FilmeID")] SessaoCreateViewModel 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 { Sessao sessao = new Sessao { Data = ViewModel.Data.Value, HorarioInicio = ViewModel.HorarioInicio.Value, HorarioFim = GetHoraFimSessao(ViewModel.HorarioInicio, ViewModel.FilmeID), ValorIngresso = ViewModel.ValorIngresso.Value, SalaAudioAnimacaoID = ViewModel.SalaAudioAnimacaoID.Value, FilmeID = ViewModel.FilmeID.Value }; db.Sessao.Add(sessao); 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.HorarioFim = (ViewModel.HorarioInicio.HasValue && ViewModel.FilmeID.HasValue) ? GetHoraFimSessao(ViewModel.HorarioInicio.Value, ViewModel.FilmeID.Value) : new TimeSpan(0, 0, 0); ViewModel.FilmeSelectList = new SelectList(db.Filme, "FilmeID", "Titulo", ViewModel.FilmeID); ViewModel.SalaAudioAnimacaoSelectList = new SelectList(db.vwSala, "SalaAudioAnimacaoID", "SalaNome", ViewModel.SalaAudioAnimacaoID); return(View(ViewModel)); }