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 Devolucao(DevolucaoModel devolucaoModel) { if(devolucaoModel == null) { devolucaoModel = new DevolucaoModel(); } IJogoRepositorio jogoRepositorio = FabricaDeModulos.CriarJogoRepositorio(); var jogos = jogoRepositorio.BuscarTodos(); devolucaoModel.Jogos = new List<LocarJogoModel>(); foreach (var jogo in jogos) { devolucaoModel.Jogos.Add(this.JogoToLocarJogoModel(jogo)); } if (devolucaoModel.idJogo.HasValue) { var jogo = jogoRepositorio.BuscarPorId((int)devolucaoModel.idJogo); devolucaoModel.LoacarJogoModel = this.JogoToLocarJogoModel(jogo); } return View(devolucaoModel); }