public override Locacao Adicionar(Locacao locacao) { int dispnivel = _repository.FilmeDisponivel(locacao.FilmeId); if (dispnivel == 0) { throw new Exception("filme indisponivel."); } try { _repository.BeginTransaction(); _repository.UpdateLocacao(locacao.FilmeId, (dispnivel - 1)); var a = _repository.Adicionar(locacao); _repository.SaveChanges(); _repository.Commit(); return(a); } catch (Exception) { _repository.Rollback(); throw; } }