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 override Locacao Atualizar(Locacao locacao) { return(_repository.Atualizar(locacao)); }
public void Atualizar(Business.Models.Locacao locacao) { locacaoRepository.Atualizar(locacao).Wait(); }