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");
        }
Example #2
0
        public void Initialize()
        {
            Database.SetInitializer(new CriarNovoBancoLocacao <LocacaoContexto>());

            _contexto    = new LocacaoContexto();
            _repositorio = new LocacaoRepositorio();

            _contexto.Database.Initialize(true);
            _contexto.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);
        }
        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 ServicoLocacao(IJogoRepositorio jogoRepositorio, IClienteRepositorio clienteRepositorio, ILocacaoRepositorio locacaoRepositorio)
 {
     this.clienteRepositorio = clienteRepositorio;
     this.jogoRepositorio = jogoRepositorio;
     this.locacaoRepositorio = locacaoRepositorio;
 }
Example #6
0
 public HomeController(ILogger <HomeController> logger, ILocacaoRepositorio locacaoRepositorio, IUsuarioRepositorio usuarioRepositorio)
 {
     _logger             = logger;
     _locacaoRepositorio = locacaoRepositorio;
     _usuarioRepositorio = usuarioRepositorio;
 }
Example #7
0
 public LocacaoServicos(ILocacaoRepositorio locacaoRepositorio)
 {
     this.locacaoRepositorio = locacaoRepositorio;
 }
 public LocacaoAplicacao(ILocacaoRepositorio locacaoRepositorio, IVeiculoRepositorio veiculoRepositorio)
 {
     _locacaoRepositorio = locacaoRepositorio;
     _veiculoRepositorio = veiculoRepositorio;
 }
 public ServicoLocacao(ILocacaoRepositorio locacaoRepositorio)
 {
     this.locacaoRepositorio = locacaoRepositorio;
 }
Example #10
0
 public LocacaoAplicacao(ILocacaoRepositorio repositorio)
 {
     _repositorio = repositorio;
 }
 public LocacaoServicoDominio(ILocacaoRepositorio locacaoRepositorio, IClienteRepositorio clienteRepositorio, IJogoRepositorio jogoRepositrio)
 {
     this.locacaoRepositorio = locacaoRepositorio;
     this.clienteRepositorio = clienteRepositorio;
     this.jogoRepositrio = jogoRepositrio;
 }
Example #12
0
 public LocacaoCrudServico(ILocacaoRepositorio repositorio)
     : base(repositorio)
 {
     _repositorio = repositorio;
 }
 public ServicoLocacao(ILocacaoRepositorio repositorio)
 {
     this.usuarioRepositorio = repositorio;
 }