public ActionResult FinalizarLocacao(string nomeCliente, int JogoId) { try { RegrasLocacao regrasLocacao = new RegrasLocacao(); Cliente cliente = bancoDeClientes.BuscarUnicoClientePorNome(nomeCliente); int totalLocacoes = bancoDeClientes.BuscarTotalDeLocacoes(cliente); if (totalLocacoes > 3) { TempData["Mensagem"] = "Limite de Locações atingido, não é possivel registrar mais locações para este cliente."; return View("Locar"); } Jogo jogo = bancoDeJogos.BuscarPorId(JogoId); jogo.LocarPara(cliente); jogo.IdCliente = cliente.Id; jogo.DataPrevistaParaEntrega = regrasLocacao.DataPrevistaParaEntrega(jogo.Selo); bancoDeJogos.Atualizar(jogo); TempData["Mensagem"] = "Locação registrada com sucesso!"; return View("Locar"); } catch(Exception e) { TempData["Mensagem"] = "Locação não efetuada, algo deu errado, por favor, tente novamente"; return View("Locar"); } }
public void DataPrevistaPataEntregaComSeloPrataDiaDeHojeMais2() { Jogo jogo = new Jogo(id: 1) { Selo = Selo.Prata }; RegrasLocacao regrasDeLocacao = new RegrasLocacao(); jogo.DataPrevistaParaEntrega = regrasDeLocacao.DataPrevistaParaEntrega(jogo.Selo); DateTime DataPrevistaComSeloOuro = DateTime.Now.AddDays(2); Assert.AreEqual(DataPrevistaComSeloOuro, jogo.DataPrevistaParaEntrega); }
public ActionResult Locar(int id) { Jogo jogo = bancoDeJogos.BuscarPorId(id); RegrasLocacao regrasLocacao = new RegrasLocacao(); TelaLocacao locacao = new TelaLocacao(); locacao.JogoId = jogo.Id; locacao.JogoNome = jogo.Nome; locacao.JogoImagem = jogo.Imagem; locacao.JogoDataParaEntrega = regrasLocacao.DataPrevistaParaEntrega(jogo.Selo); locacao.JogoPreco = regrasLocacao.ValorJogo(jogo.Selo); return View(locacao); }