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); }
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); }
public Business.Models.Locacao ObterPorId(Guid id) { return(locacaoRepository.ObterPorId(id).Result); }