1
resposta

Função de conversão para Double

Fiquei com uma dúvida na outra conversão checa se é nulo, nessa conversão não faz isso, então significa que pode gravar valor nulo no banco de dados?

1 resposta

Olá Gisele, tudo bem?

No momento atual do código, quando salvamos um produto completamente vazio, temos o padrão de enviar um valor 0.00 para o campo valor:

private fun criaProduto(): Produto {
        val campoNome = binding.activityFormularioProdutoNome
        val nome = campoNome.text.toString()
        val campoDescricao = binding.activityFormularioProdutoDescricao
        val descricao = campoDescricao.text.toString()
        val campoValor = binding.activityFormularioProdutoValor
        val valorEmTexto = campoValor.text.toString()
        val valor = if (valorEmTexto.isBlank()) {
            BigDecimal.ZERO
        } else {
            BigDecimal(valorEmTexto)
        }

        return Produto(
            nome = nome,
            descricao = descricao,
            valor = valor,
            imagem = url
        )
    }

E quando não digitamos nada nos campos de texto, uma string vazia é passada, que não é nula, o unico campo capaz de receber null é o de imagem. Nas conversões, precisamos verificar se os dados não são nulos por questões de boas práticas e para manter o código robusto, no nosso exemplo é praticamente impossível salvar um valor vazio/nulo pois se for o caso salvamos como 0.00.

Qualquer dúvida, estarei a disposição :)

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