public ActionResult Detalhes(string nomeJogo) { locacaoRepositorio = FabricaDeModulos.CriarLocacaoRepositorio(); clienteRepositorio = FabricaDeModulos.CriarClienteRepositorio(); jogoRepositorio = FabricaDeModulos.CriarJogoRepositorio(); servicoLocacao = new ServicoLocacao(jogoRepositorio, clienteRepositorio, locacaoRepositorio); var locacao = locacaoRepositorio.BuscarPendentesPorNomeDoJogo(nomeJogo).FirstOrDefault(); bool jogoEstaLocado = locacao != null && !locacao.Jogo.Disponivel; if (jogoEstaLocado) { DevolucaoModel model = new DevolucaoModel() { IdLocacao = locacao.Id, DataLocacao = locacao.DataLocacao, ImagemJogo = locacao.Jogo.Imagem, NomeJogo = locacao.Jogo.Nome, ValorFinal = servicoLocacao.CalcularValorFinal(locacao) }; return View(model); } TempData["Mensagem"] = "Jogo informado não encontrado"; TempData["TipoMensagem"] = "Falha"; return View("Devolucao"); }
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 Devolver(int idLocacao) { locacaoRepositorio = FabricaDeModulos.CriarLocacaoRepositorio(); clienteRepositorio = FabricaDeModulos.CriarClienteRepositorio(); jogoRepositorio = FabricaDeModulos.CriarJogoRepositorio(); servicoLocacao = new ServicoLocacao(jogoRepositorio, clienteRepositorio, locacaoRepositorio); bool jogoFoiDevolvido = servicoLocacao.DevolverJogo(idLocacao); TempData["Mensagem"] = jogoFoiDevolvido ? "Jogo devolvido com sucesso" : "Não foi possível devolver o jogo"; TempData["TipoMensagem"] = jogoFoiDevolvido ? "sucesso" : "falha"; return RedirectToAction("Devolucao"); }
public ActionResult Salvar(LocacaoModel model) { jogoRepositorio = FabricaDeModulos.CriarJogoRepositorio(); clienteRepositorio = FabricaDeModulos.CriarClienteRepositorio(); locacaoRepositorio = FabricaDeModulos.CriarLocacaoRepositorio(); servicoLocacao = new ServicoLocacao(jogoRepositorio, clienteRepositorio, locacaoRepositorio); bool locacaoEfetuadaComSucesso = servicoLocacao.LocarJogoParaCliente(model.IdJogo, model.NomeCliente); @TempData["Mensagem"] = locacaoEfetuadaComSucesso ? "Locação efetuada" : "Erro na locação"; @TempData["TipoMensagem"] = locacaoEfetuadaComSucesso ? "sucesso" : "falha"; return RedirectToAction("JogosDisponiveis", "Relatorio"); }
public ActionResult Locar(int id) { var jogoRepositorio = new JogoRepositorio(); Jogo jogo = jogoRepositorio.BuscarPorId(id); var servicoLocacao = new ServicoLocacao() { JogoRepositorio= jogoRepositorio }; var dataPrevista = servicoLocacao.GerarDataDevolucao(jogo); var telaLocacao = new TelaLocacaoModel() { Id = jogo.Id, NomeJogo = jogo.Nome, Selo = jogo.Selo, Imagem = string.IsNullOrEmpty(jogo.Imagem) ? "http://imobiliariaprimos.com.br/imagens/imoveis/sem_imagem.jpg" : jogo.Imagem, DataPrevista = string.Format("{0:dd/MM/yyyy}", dataPrevista), ValorDaLocacao = jogo.GerarValorDaLocacao().ToString("C") }; return View(telaLocacao); }
public ActionResult DevolverJogo(int id) { var jogoRepositorio = new JogoRepositorio(); var clienteRepositorio = new ClienteRepositorio(); var servicoLocacao = new ServicoLocacao() { JogoRepositorio = jogoRepositorio }; Jogo jogo = jogoRepositorio.BuscarPorId(id); TempData["Cliente"] = clienteRepositorio.BuscarPorId((int)jogo.IdCliente).Nome; TempData["Valor"] = jogo.GerarValorDaLocacao().ToString("C"); bool devolver =servicoLocacao.DevolverJogo(jogo); if (devolver) { TempData["Mensagem"] = "Jogo Devolvido!"; TempData["DataEntrega"] = String.Format("{0:dd/MM/yyyy}",DateTime.Now.Date); return RedirectToAction("JogosLocados", "Relatorio"); } TempData["Mensagem"] = "Falha na devolução"; return RedirectToAction("JogosLocados", "Relatorio"); }