( )
Olá! Quando eu tento incluir uma negociação recebo este erro. O projeto nao apresenta nenhum erro em tempo de desenvolvimento porém quando eu executo o botão incluir recebo esse erro. O botão importar esta funcionando normalmente.
Nao consegui encontrar a falha apesar de bem explicada.
negociacao-controller.ts
import { domInjector } from "../decorators/dom-injector.js";
import { inspect } from "../decorators/inspect.js";
import { logarTempoDeExecucao } from "../decorators/logar-tempo-de-execucao.js";
import { DiasDaSemana } from "../enums/dias-da-semana.js";
import { Negociacao } from "../models/negociacao.js";
import { Negociacoes } from "../models/negociacoes.js";
import { NegociacoesService } from "../services/negociacoes-service.js";
import { MensagemView } from "../views/mensagem-view.js";
import { NegociacoesView } from "../views/negociacoesView.js";
export class NegociacaoController {
@domInjector('#data')
private inputData: HTMLInputElement;
@domInjector('#quantidade')
private inputQuantidade: HTMLInputElement;
@domInjector('#valor')
private inputValor: HTMLInputElement;
private negociacoes = new Negociacoes();
private negociacoesView = new NegociacoesView('#negociacoesView');
private mensagemView = new MensagemView('#mensagemView');
private negociacoesService = new NegociacoesService();
constructor() {
this.negociacoesView.update(this.negociacoes);
}
@inspect()
@logarTempoDeExecucao()
public adiciona(): void {
const negociacao = Negociacao.criaDe(
this.inputData.value,
this.inputQuantidade.value,
this.inputValor.value
);
if (!this.ehDiaUtil(negociacao.data)) {
this.mensagemView.update('Apenas nogociações em dias úteis sao permitidas!')
return;
}
this.negociacoes.adiciona(negociacao);
this.limparFormulario();
this.atualizaView();
}
public importaDados(): void {
this.negociacoesService
.obterNegociacoesDoDia()
.then(negociacoesDeHoje => {
for (let negociacao of negociacoesDeHoje) {
this.negociacoes.adiciona(negociacao);
}
this.negociacoesView.update(this.negociacoes);
});
}
private ehDiaUtil(data: Date) {
return data.getDay() > DiasDaSemana.DOMINGO
&& data.getDay() < DiasDaSemana.SABADO;
}
private limparFormulario(): void {
this.inputData.value = '';
this.inputQuantidade.value = '';
this.inputValor.value = '';
this.inputData.focus();
}
private atualizaView(): void {
this.negociacoesView.update(this.negociacoes);
this.mensagemView.update("Negociações adicionada com sucesso");
}
}