Пример #1
0
        public ActionResult Locacao(int? id)
        {
            if(id != null)
            {
                IJogoRepositorio repositorio = FabricaDeModulos.CriarJogoRepositorio();

                var jogo = repositorio.BuscarPorId((int)id);
                JogoLocacaoModel jogolocacao = new JogoLocacaoModel()
                {
                    Cliente = jogo.ClienteLocacao,
                    Id = jogo.Id,
                    Descricao = jogo.Descricao,
                    Imagem = jogo.Imagem,
                    Nome = jogo.Nome,
                    DataPrevistaEntrega = jogo.DataPrevistaEntrega,
                    PrecoPorSelo = jogo.Preco
                };

                return View(jogolocacao);
            }
            else
            {
                return RedirectToAction("JogosDisponiveis","Relatorio");
            }
        }
Пример #2
0
        public ActionResult SalvarLocacao(JogoLocacaoModel jogoLocacaoModel)
        {
            IClienteRepositorio clienteRepo = FabricaDeModulos.CriarClienteRepositorio();
            var clienteLocador = clienteRepo.BuscarPorNome(jogoLocacaoModel.Cliente.Nome).FirstOrDefault(j => j.Nome == jogoLocacaoModel.Cliente.Nome);

            IJogoRepositorio repositorioJogo = FabricaDeModulos.CriarJogoRepositorio();
            var jogo = repositorioJogo.BuscarPorId(jogoLocacaoModel.Id);

            bool estaLocado = repositorioJogo.VerificarSeEstaLocado(jogo);

            if (clienteLocador != null && !estaLocado)
            {

                jogo.LocarPara(clienteLocador);
                jogo.DataLocacao = DateTime.Now;

                ServicoValidacaoLocacao servicoValidadorLocacao = FabricaDeModulos.CriarServicoValidacaoLocacao();
                bool podeLocar = servicoValidadorLocacao.ValidarLocacaoParaCliente(jogo.ClienteLocacao);

                if (podeLocar)
                {
                    repositorioJogo.Atualizar(jogo);
                    TempData["MensagemSalvarEditar"] = "Locado com sucesso :D";
                }
                else
                {
                    TempData["MensagemSalvarEditar"] = "o cliente ja possui 3 jogos locados";
                }
            }
            else
            {
                TempData["MensagemSalvarEditar"] = "O jogo esta locado, ou o cliente não esta cadastrado";
            }

            return RedirectToAction("JogosDisponiveis", "Relatorio");
        }