1
resposta

[Sugestão] Refatoração usando switch e função compraIngresso

Meu desenvolvimento utilizei o switch para identificar o tipo e dependendo deste, é passado o qtd de uma das opções. A função comprarIngresso apresentada, deixei da forma mais simples possivel, com nomes não tão especificado. Segue abaixo:

function comprar() {
    let tipo = document.getElementById('tipo-ingresso').value;
    let qtdPista = parseInt(document.getElementById('qtd-pista').textContent);
    let qtdSuperior = parseInt(document.getElementById('qtd-superior').textContent);
    let qtdInferior = parseInt(document.getElementById('qtd-inferior').textContent);

    switch(tipo) {
        case 'pista':
            comprarIngresso(tipo, qtdPista);
            break;
        case 'superior':
            comprarIngresso(tipo, qtdSuperior);
            break;
        case 'inferior':
            comprarIngresso(tipo, qtdInferior);
            break;
    }
}

function comprarIngresso(id, qtdLocal) {
    let qtd = parseInt(document.getElementById('qtd').value);

    if(qtdLocal >= qtd) {
        qtdLocal -= qtd
        document.getElementById(`qtd-${id}`).textContent = qtdLocal;

        alert('Compra realizada com sucesso');
    } else {
        alert(`Quantidade indisponível para o tipo ${id}`);
    }
}
1 resposta

Oi Affonso!

Parabéns! Ficou bem legal a sua solução e bem simples mesmo :)

Bons estudos!