public ActionResult Salvar(string clienteNome, int id) { if (String.IsNullOrWhiteSpace(clienteNome)) { TempData["Mensagem"] = "Erro na busca do cliente"; return RedirectToAction("JogosDisponiveis","Relatorio"); } var repositorio = new ClienteRepositorio(); var jogoRepositorio = new JogoRepositorio(); var servicoLocacao = new ServicoLocacao() { JogoRepositorio=jogoRepositorio}; var jogo = jogoRepositorio.BuscarPorId(id); var cliente = repositorio.BuscarPorNome(clienteNome).FirstOrDefault(); if (servicoLocacao.PodeLocar(cliente)) { var data = servicoLocacao.GerarDataDevolucao(jogo); if (cliente != null) { jogo.IdCliente = cliente.Id; jogo.LocarPara(cliente); jogo.DataDevolucao = data; jogoRepositorio.Atualizar(jogo); TempData["Mensagem"] = "Jogo Locado com Sucesso"; } } else { TempData["Mensagem"] = "Cliente não pode locar mais jogos"; } return RedirectToAction("JogosDisponiveis", "Relatorio"); }
public ActionResult Salvar(JogoDetalhesModel model) { var database = new JogoRepositorio(); if (ModelState.IsValid) { var jogo = database.BuscarPorNome(model.Nome).ToList(); if (jogo.Count > 0) { try { database.Atualizar(new Dominio.Jogo(jogo[0].Id) { Nome = model.Nome, Categoria = model.Categoria, Imagem = model.Imagem, Video = model.Video, Selo = model.Selo, Descricao = model.Descricao }); TempData["Mensagem"] = "Jogo Atualizado com Sucesso!!"; } catch (SqlException) { TempData["Mensagem"] = "Problema na atualização dos dados no banco," + " por favor digite os dados corretamente"; } return View("ManterJogo", model); } else { try { database.Criar(new Dominio.Jogo() { Nome = model.Nome, Categoria = model.Categoria, Imagem = model.Imagem, Video = model.Video, Selo = model.Selo, Descricao = model.Descricao }); TempData["Mensagem"] = "Jogo Salvo com Sucesso!!"; model.Id = database.BuscarPorNome(model.Nome)[0].Id; } catch (Exception) { TempData["Mensagem"] = "Problema na inserção dos dados no banco," + " por favor digite os dados corretamente"; } return View("ManterJogo", model); } } else { return View("ManterJogo", model); } }