Example #1
0
        // GET: Filmes/Edit/5
        public async Task <IActionResult> Edit(Guid id)
        {
            var filme = await _filmeRepository.ObterPorId(id);

            if (filme == null)
            {
                return(NotFound());
            }
            return(View(filme));
        }
Example #2
0
        public async Task <ActionResult <Filme> > ObterPorId(Guid id)
        {
            var filme = await _filmeRepository.ObterPorId(id);

            if (filme == null)
            {
                NotFound();
            }


            return(filme);
        }
        public async Task Alugar(Locacao locacao)
        {
            if (locacao.ClienteId == Guid.Empty)
            {
                throw new Exception("Cliente não pode ser nulo");
            }
            if (locacao.FilmeId == Guid.Empty)
            {
                throw new Exception("Filme não pode ser nulo");
            }

            var filme = await _filmeRepository.ObterPorId(locacao.FilmeId);

            if (filme == null)
            {
                throw new Exception("Filme não encontrado");
            }

            var cliente = await _clienteRepository.ObterPorId(locacao.ClienteId);

            if (cliente == null)
            {
                throw new Exception("Cliente não encontrado");
            }

            if (_locacaoRepository.VerificarSeClienteJaLocouFilme(locacao.ClienteId, locacao.FilmeId).Result.Any())
            {
                throw new Exception("O Filme já foi locado anteriormente");
            }

            if (filme.QuantidadeDisponivel == 0)
            {
                throw new Exception("O Filme esta indisponivel");
            }



            locacao.Inicio = DateTime.Now;

            await _locacaoRepository.Adicionar(locacao);

            filme.QuantidadeDisponivel--;
            await _filmeRepository.Atualizar(filme);
        }
Example #4
0
        public async Task <ActionResult <Filme> > ObterPorId(Guid id)
        {
            var fornecedor = await _filmeRepository.ObterPorId(id);

            if (fornecedor == null)
            {
                return(NotFound());
            }

            return(fornecedor);
        }
Example #5
0
 public Business.Models.Filme ObterPorId(Guid id)
 {
     return(filmeRepository.ObterPorId(id).Result);
 }
Example #6
0
        public async Task <Filme> ObterPorId(Guid id)
        {
            var filme = await _filmeRepository.ObterPorId(id);

            return(filme);
        }