none
Hacer que un producto tenga otros productos que lo componen RRS feed

  • Pregunta

  • Buen día 

    Quisiera saber como puedo hacer que un producto tenga otros productos que lo componen y al hacer una venta estos mismos se descuenten del inventario o las existencias.

    Por ejemplo tengo una hamburguesa, que se compone de cierta cantidad de carne, de cierta cantidad de lechuga etc, entonce al hacer la venta de esa hamburguesa se descuente de las existencias la cantidad carne, etc.

    Estoy utilizando visual studio 2010 

    de antemano gracias por la atención Saludos

    sábado, 11 de agosto de 2018 1:32

Respuestas

  • En código: Dentro de la clase "Producto" declara una colección de componentes que a su vez sean del tipo "Producto".

    En base de datos: Añade una tabla de "ComponentesDeProducto" que tenga dos campos "IdProducto" e "IdComponente", y que ambos sean ForeignKeys a la tabla de Productos. Si, por ejemplo, la hamburgesa tiene el ID 23 en la tabla de Productos, la carne el 104 y la lechuga el 105, entonces en la tabla ComponentesDeProducto tendrías dos registros con los valores (23, 104) y (23, 105).

    Para pasar de base de datos a memoria y viceversa, no hay ningún automatismo sencillo. Tendrás que usar un bucle que vaya leyendo los registros de ComponentesDeProducto para un producto dado y los vaya trayendo a la colección Componentes de la clase Producto, y lo mismo al revés cuando vayas a grabar.

    Cuando se produzca una venta, tendrás que recorrer la colección de componentes con un bucle, e ir descontando del inventario uno por uno cada uno de los componentes del producto que se ha vendido.

    Si la cantidad de cada componente puede ser variable, por ejemplo, "100 gramos de carne", entonces ese valor "cantidad" iría en una columna adicional en la tabla de ComponentesDeProducto, y tendrías que leerlo y aplicarlo cuando estés descontando del inventario.

    sábado, 11 de agosto de 2018 8:54