none
chinook Leandro RRS feed

  • Pregunta

  • Continuando con el estudio de la plicación en capas Chinook de nuestro MVP (ehorabuena) Leandro me surge la siguiente duda. Creamos una entidad factura con los datos de la cabecera y sus líneas y lo mándamos a la capa de datos para que haga el insert en la bbdd. hasta ahí todo perfecto siempre y cuando sea una inserción y la factura no este creada en la bbdd, pero como controlamos un update? ¿Cómo saber que cambios ha realizado el usuario en la entidad factura si ya la tenemos guardada en nuestra bbdd?

    Salu2


    nunca te acostarás sin saber una cosa más
    • Cambiado Enrique M. Montejo domingo, 18 de marzo de 2012 9:24 acceso a datos (De:Lenguaje VB.NET)
    jueves, 21 de octubre de 2010 19:58

Todas las respuestas

  • hola

    lo mándamos a la capa de datos para que haga el insert en la bbdd

    lo estas enviando directo a la capa de datos? no pasas por la de negocio
    ojo puede ser que solo implementes dos capas, tampoco esta incorrecto

    pero como controlamos un update?

    si bien en esos ejemplos de capas no implemente la actualizacion, si lo hice en este otro:

    ADO.NET Parte 3 Actualizaci ó n Informaci ó n Sql Server



    no esta en capas, pero alli podras ver como validar si la entidad existe y realizar un update o insert

    Nota: si bien en este ejemplo no se separo fisicamente en capas, si esta la funcionalidad preparada para hacerlo

    como veras no se detecta que cambio el usuario se actualizan todos los campos

    muy distinto seria si se estuviera usando un ORM, el cual arma las queries de forma dinamica, este si mantiene un dirty por campo y puede armar la consulta actualizando solo lo que cambio

    con respecto al detalle de la factura, lo mas simple que se puede aplicar es eliminar las lineas existente, y volver a insertar,
    o sea siempre se insertan las lineas, no se actualizan, se que por ahi no sera lo optimo, pero implementar un merge completo es mucho mas complejo

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 21 de octubre de 2010 20:17
  • La opción de borrar todas las líneas de detalle lo primero e insertar las nuevas acto seguido es como lo tengo implementado, pero no me parecía lo mas correcto, por eso preguntaba si lo hacías de alguna forma en especial. Voy a revisar tu enlace y te cuento. Ahh por cierto estoy usando tres capas + la de entidades igual que en tu ejemplo.

    Salu2


    nunca te acostarás sin saber una cosa más
    jueves, 21 de octubre de 2010 20:21
  • revisando tu modelo de 3 capas , se graba la informacion , pero me queda una duda como recuperar el detalle de la factura.. , y mostrarlo en el grid???  gracias por la aclaracion

    Guido.

    viernes, 9 de marzo de 2012 6:01