toda vez que eu vou adicionar uma nova negociação aparece o seguinte erro!
Uncaught TypeError: Cannot read property 'cadastra' of undefined
at NegociacaoController.adiciona (NegociacaoController.js:49)
at HTMLFormElement.onsubmit ((index):17)
class NegociacaoController {
constructor() {
let $ = document.querySelector.bind(document);
this._inputData = $('#data');
this._inputQuantidade = $('#quantidade');
this._inputValor = $('#valor');
this._listaNegociacoes = new Bind(
new ListaNegociacoes(),
new NegociacoesView($('#negociacoesView')),
'adiciona', 'esvazia' , 'ordena', 'inverteOrdem');
this._mensagem = new Bind(
new Mensagem(), new MensagemView($('#mensagemView')),
'texto');
this._ordemAtual = '';
setInterval(() => {
this.importaNegociacoes();
}, 5000)
this._init();
}
_init(){
ConnectionFactory
.getConnection()
.then(connection => new NegociacaoDao(connection))
.then(dao => dao.listaTodos())
.then(negociacoes =>
negociacoes.forEach(negociacao =>
this._listaNegociacoes.adiciona(negociacao)))
.catch(erro => {
console.log(erro);
this._mensagem.texto = erro;
});
}
adiciona(event) {
event.preventDefault();
let negociacao = this._criaNegociacao();
this._negociacaoService.cadastra(negociacao)
.then(mensagem => {
this._listaNegociacoes.adiciona(negociacao);
this._mensagem.texto = mensagem;
this._limpaFormulario();
}).catch(erro => this._mensagem.texto = erro);
}
}
class NegociacaoService {
constructor() {
this._http = new HttpService();
}
cadastra(negociacao) {
return ConnectionFactory
.getConnection()
.then(conexao => new NegociacaoDao(conexao))
.then(dao => dao.adiciona(negociacao))
.then(() => 'Negociação cadastrada com sucesso')
.catch(erro => {
throw new Error("Não foi possível adicionar a negociação")
});
}
}