Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

ReferenceError: connection is not defined

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');

        this._mensagem = new Bind(
            new Mensagem(), new MensagemView($('#mensagemView')),
                        'texto'); 

                this._ordemAtual =     ''          
    }

    adiciona(event) {

                    event.preventDefault();

                    ConnectionFactory
                            .getConnection()
                            .then(conexao => {

                                    let negociacao = this._criaNegociacao();

                                    new NegociacaoDao(connection)
                                            .adiciona(negociacao)
                                            .then(() => {
                                                    this._listaNegociacoes.adiciona(negociacao);
                                                    this._mensagem.texto = 'Negociação adicionada com sucesso';
                                                    this._limpaFormulario();   
                                            })


                })
                .catch(erro => this._mensagem.texto = erro);


        }                


    importaNegociacoes() {


        let service = new NegociacaoService();
        service
            .obterNegociacoes()
            .then(negociacoes => negociacoes.forEach(negociacao => {
                this._listaNegociacoes.adiciona(negociacao);
                this._mensagem.texto = 'Negociações do período importadas'   
            }))
            .catch(erro => this._mensagem.texto = erro);               
    }

    apaga() {

        this._listaNegociacoes.esvazia();
        this._mensagem.texto = 'Negociações apagadas com sucesso';
    }

    _criaNegociacao() {

        return new Negociacao(
            DateHelper.textoParaData(this._inputData.value),
            this._inputQuantidade.value,
            this._inputValor.value);    
    }

    _limpaFormulario() {

        this._inputData.value = '';
        this._inputQuantidade.value = 1;
        this._inputValor.value = 0.0;
        this._inputData.focus();   
    }
}insira seu código aqui

class NegociacaoDao {

constructor(connection) {

    this._connection = connection;
    this._store = 'negociacoes';
}

adiciona(negociacao) {

    return new Promise((resolve, reject) => {

                let request = this._connection
                .transaction([this._store],'readwrite')
                .objectStore(this._store)
                .add(negociacao);

                request.onsuccess = e => {

                    resolve();
                };

                request.onerror = e => {

                    console.log(e.target.error);
                    reject('Não foi possível adicionar a negociação');
                };

    });
}

}

insira seu código aqui
1 resposta
solução!

Por favor, desconsiderar tópico, já descobri o erro no código.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software