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?
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?
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 :)