ezequieljuliano/DataSetConverter4Delphi

Enviar vários DataSets num único JsonArray

faelmoroni opened this issue · 2 comments

Bom dia!
Eu estou utilizando este framework para enviar as NFes de um sistema mobile para um servidor e está funcionando normalmente. O grande problema é que eu estou enviando primeiramente o cabeçalho da NFe, depois os seus produtos, as parcelas da NFe e finalmente o cliente. É que da forma que estou enviando eu estou perdendo a atomicidade do banco de dados, ou seja, se caso ocorrer um problema num dos envios eu fico com parte da NFe gravada e outra não.
Gostaria de saber se existe alguma forma de eu enviar/receber todos os dados em apenas um JSONArray utilizando este framework?

Master/Detail?

Obrigado,
Rafael Moroni

Bom dia Rafael.

Sim, existe esta possibilidade! De uma analisada nos testes unitários, mais especificamente o teste procedure TTestsDataSetConverter.TestJSONConverter;

Nele é convertido um JSON inteiro para uma estrutura aninhada de DataSets de vendas, clientes e produtos.

Para que isso aconteça você deve configurar corretamente a propriedade origin para JSONObject (quando existe um DataSet relacionado no formato FK, tipo venda e cliente) ou JSONArray (quando o DataSet relacionado é um detalhe, tipo itens da venda).

Com isso será convertido tudo de uma única vez mantendo a atomicidade.

Boa tarde Ezequiel!
Obrigado pela resposta imediata. Vou estudar o exemplo e testar no meu aplicativo.
Rafael Moroni