Guest User

Untitled

a guest
Nov 20th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. /**
  2. * Create new record.
  3. *
  4. * @param {Object} record
  5. * @return {Promise}
  6. */
  7. export function createRecord(record) {
  8. const tipoDocumento = record.tipo_documento;
  9. console.log(`createRecord ${tipoDocumento}`);
  10.  
  11. let pessoa = RecordPessoa;
  12. let pessoaFisica = RecordPessoaFisica;
  13. let pessoaJuridica = RecordPessoaJuridica;
  14. let cliente = Record;
  15.  
  16. // pessoa
  17. pessoa = {
  18. tipo_documento: tipoDocumento
  19. };
  20.  
  21. if (tipoDocumento === 0) {
  22. // pessoa fisica
  23. pessoaFisica = {
  24. pessoa_id: pessoa.pessoa_id,
  25. cpf: record.cpf,
  26. nascimento: record.nascimento,
  27. nome_1: record.nome_1,
  28. nome_2: record.nome_2,
  29. genero: record.genero,
  30. estado_civil: record.estado_civil,
  31. identidade: record.identidade,
  32. orgao_emissor: record.orgao_emissor,
  33. emissao: record.emissao,
  34. nacionalidade: record.nacionalidade,
  35. naturalidade: record.naturalidade
  36. };
  37. } else {
  38. // pessoa juridica
  39. pessoaJuridica = {
  40. pessoa_id: pessoa.pessoa_id,
  41. cnpj: record.cnpj,
  42. nome_1: record.nome_1,
  43. nome_2: record.nome_2,
  44. cnae_id: record.cnae_id,
  45. crt: record.crt,
  46. insc_estadual: record.insc_estadual,
  47. insc_estadual_st: record.insc_estadual_st,
  48. insc_municipal: record.insc_municipal,
  49. insc_suframa: record.insc_suframa
  50. };
  51. }
  52.  
  53. // cliente
  54. cliente = {
  55. pessoa_id: pessoaJuridica.pessoa_id
  56. };
  57.  
  58. // With Promises
  59. return new Promise(async (resolve, reject) => {
  60. bookshelf.transaction(async t => {
  61. // const model = await Test.forge(object).save(null, { transacting: t });
  62. try {
  63. const objPessoa = await RecordPessoa.forge(pessoa).save(null, {
  64. transacting: t
  65. });
  66.  
  67. if (tipoDocumento === 0) {
  68. console.log(JSON.stringify(objPessoa));
  69. pessoaFisica.pessoa_id = objPessoa.id;
  70. console.log(JSON.stringify(pessoaFisica));
  71. await RecordPessoaFisica.forge(pessoaFisica).save(null, {
  72. transacting: t
  73. });
  74. } else {
  75. await RecordPessoaJuridica.forge(pessoaJuridica).save(null, {
  76. transacting: t
  77. });
  78. }
  79. cliente.pessoa_id = objPessoa.id;
  80. const objCliente = await Record.forge(cliente).save(null, {
  81. transacting: t
  82. });
  83. resolve(objCliente);
  84. } catch (err) {
  85. await t.rollback(err);
  86. reject(err);
  87. }
  88. });
  89. });
  90. }
Add Comment
Please, Sign In to add comment