none
web api envio de documentos RRS feed

  • Pregunta

  • Hola a todos

    Tengo el siguiente problema tengo mi aplicacion web api donde funciona correctamente, pero me encontre que si mi cliente genera una factura genera dos entidades la cabecera y el detalle y lo envia al web api para ser grabado, lo envio uno por uno, pero que pasa si envio la cabecera y todo se graba, pero al enviar el detalle arroja un problema, por lo tanto requiero realizar un rollback, de la cabecera; como lograria esto.

    Gracias


    Luis Ormeño

    martes, 6 de junio de 2017 14:05

Respuestas

  • Lo mejor es que envíes las dos cosas juntas. Define una clase que dentro tenga la cabecera y una lista de líneas. Haz un método del webapi que reciba como parámetro un objeto de esa clase. Y dentro del método, inicia transacción, graba la cabecera más todas las líneas, y haz un commit de la transacción (o, evidentemente, un rollback si se produce algún error).
    martes, 6 de junio de 2017 17:48

Todas las respuestas

  • Lo mejor es que envíes las dos cosas juntas. Define una clase que dentro tenga la cabecera y una lista de líneas. Haz un método del webapi que reciba como parámetro un objeto de esa clase. Y dentro del método, inicia transacción, graba la cabecera más todas las líneas, y haz un commit de la transacción (o, evidentemente, un rollback si se produce algún error).
    martes, 6 de junio de 2017 17:48
  • hola

    >>pero que pasa si envio la cabecera y todo se graba, pero al enviar el detalle arroja un problema, por lo tanto requiero realizar un rollback, de la cabecera;

    No deberias enviar cabecera y detalle cuando son parte de una transaccion por separado, se supone que deberia ser una unica estructura

    Transacion entre diferentes request no se puede realizar, o no se recomienda, salvo que envies los datos separados, los mantengas del lado del servidor temporalmente y al final un servicio de confirmacion realice la operacion final, al estilo de carro de compra, en donde vas agregando y cuando confirmas se persiste todo realmente, seria en esta ultima opracion cuando trabajas las transacciones

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 6 de junio de 2017 18:40