public ActionResult Manter(int id = -1) { seloRepositorio = FabricaDeModulos.CriarSeloRepositorio(); ColocarListaCategoriaEListaSeloNaViewBag(); bool estaEditando = id > 0; if (estaEditando) { jogoRepositorio = FabricaDeModulos.CriarJogoRepositorio(); Jogo jogo = jogoRepositorio.BuscarPorId(id); ManterJogoModel model = new ManterJogoModel() { Nome = jogo.Nome, Categoria = jogo.Categoria, Selo = jogo.Selo.Nome, Descricao = jogo.Descricao, Imagem = jogo.Imagem, Video = jogo.Video }; return View(model); } else { return View(new ManterJogoModel()); } }
public ActionResult Salvar(ManterJogoModel model) { bool podeSalvarNoBanco = ModelState.IsValid; if (podeSalvarNoBanco) { bool deveAlterar = model.Id > 0; jogoRepositorio = FabricaDeModulos.CriarJogoRepositorio(); seloRepositorio = FabricaDeModulos.CriarSeloRepositorio(); Jogo jogo = new Jogo(model.Id) { Nome = model.Nome, Categoria = model.Categoria, Descricao = model.Descricao, Imagem = model.Imagem, Video = model.Video, IdSelo = seloRepositorio.BuscarPorNome(model.Selo).Id, Disponivel = true }; if (deveAlterar) { jogoRepositorio.Atualizar(jogo); TempData["Mensagem"] = "Jogo editado com sucesso!"; TempData["TipoMensagem"] = "sucesso"; } else { jogoRepositorio.Criar(jogo); TempData["Mensagem"] = "Jogo salvo com sucesso!"; TempData["TipoMensagem"] = "sucesso"; } return RedirectToAction("JogosDisponiveis", "Relatorio"); } else { ColocarListaCategoriaEListaSeloNaViewBag(); return View("Manter", model); } }