public override void Adicionar(MovimentacaoVeiculo entidade) { var mensalista = new MensalistaRegras().BuscaPorPlaca(entidade.PlacaVeiculo); if (mensalista != null) { if (new MensalistaRegras().EstaInadinplente(mensalista)) { throw new Exception($"Mensalista {mensalista.Pessoa.Nome} está inadimplente"); } var modeloVeiculo = new ModeloVeiculoRegras().buscarporID(mensalista.ModeloVeiculoId); entidade.TipoVeiculoId = modeloVeiculo.TipoVeiculoId; entidade.PlacaVeiculo = mensalista.PlacaVeiculo; entidade.MensalistaId = mensalista.Id; entidade.ValorTotal = 0m; } entidade.DataHoraEntrada = DateTime.Now; var vaga = new VagaRegras().BuscarVagaLivre().Id; if (vaga == 0) { throw new Exception("Não ha vaga disponivel no momento"); } entidade.VagaId = vaga; if (movimentacaoveiculorepository.ExisteVeiculoCadastrdo(entidade.PlacaVeiculo)) { throw new Exception("Já existe uma movimentação com este veiculo"); } entidade.UsuarioId = 1; base.Adicionar(entidade); }