public async Task <ActionResult <Locacao> > ObterPorId(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(BadRequest());
            }

            var locacoes = await _LocacaoRepository.ObterPorId(id);

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

            return(locacoes);
        }
示例#2
0
        public async Task <String> Devolver(Locacao locacao)
        {
            var mensagem = "Devolucao realizada com sucesso";

            if (locacao.Id == Guid.Empty)
            {
                throw new Exception("Locação Invalida");
            }

            var devolucao = await _locacaoRepository.ObterPorId(locacao.Id);

            if (devolucao == null)
            {
                throw new Exception("Locacao nao encontrada");
            }

            if (devolucao.Devolucao != DateTime.MinValue)
            {
                throw new Exception("Devolucao ja realizada");
            }

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

            var dataDevolucao       = DateTime.Today;
            var dataMaximaDevolucao = devolucao.Inicio.AddDays(QTDE_DIAS_DEVOLUCAO);

            if (dataDevolucao > dataMaximaDevolucao)
            {
                mensagem = "Devolucao com atraso";
            }

            devolucao.Devolucao = DateTime.Now;
            await _locacaoRepository.Atualizar(devolucao);

            filme.QuantidadeDisponivel++;
            await _filmeRepository.Atualizar(filme);


            return(mensagem);
        }
示例#3
0
 public Business.Models.Locacao ObterPorId(Guid id)
 {
     return(locacaoRepository.ObterPorId(id).Result);
 }