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 ValorTotalIgual5ComSeloBronze() { Jogo jogo = new Jogo(id: 1) { Selo = Selo.Bronze }; RegrasLocacao regrasDeLocacao = new RegrasLocacao(); decimal valorEsperado = regrasDeLocacao.ValorJogo(jogo.Selo); Assert.AreEqual(5.00M, valorEsperado); }
public void ValorTotalIgual10ComSeloPrata() { Jogo jogo = new Jogo(id: 1) { Selo = Selo.Prata }; RegrasLocacao regrasDeLocacao = new RegrasLocacao(); decimal valorEsperado = regrasDeLocacao.ValorJogo(jogo.Selo); Assert.AreEqual(10.00M, valorEsperado); }
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 PesquisaJogoDevolver(string nomeJogo) { try { Jogo jogo = bancoDeJogos.BuscarUnicoJogoPorNome(nomeJogo); RegrasLocacao regrasLocacao = new RegrasLocacao(); RegrasDevolucao regrasDevolucao = new RegrasDevolucao(); TelaLocacao locacao = new TelaLocacao(); if (nomeJogo == "") { locacao.JogoId = 0; locacao.JogoNome = "Não a jogo selecionado!"; locacao.JogoImagem = "http://clickmobile.com.br/blog/wp-content/uploads/2014/03/sem-imagem-click.jpg"; locacao.JogoPreco = 0.00M; locacao.JogoDataParaEntrega = DateTime.Now; } else { locacao.JogoId = jogo.Id; locacao.JogoNome = jogo.Nome; locacao.JogoImagem = jogo.Imagem; locacao.JogoPreco = regrasLocacao.ValorJogo(jogo.Selo); locacao.JogoDataParaEntrega = (DateTime)jogo.DataPrevistaParaEntrega; locacao.JogoPreco = regrasDevolucao.CalcularValorTotal(locacao.JogoDataParaEntrega, locacao.JogoPreco); } return PartialView("_TelaLocacao", locacao); } catch(Exception e) { return PartialView("Erro"); } }
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); }