concurrencia

10 views
Skip to first unread message

Edgar Ramos

unread,
Dec 11, 2015, 4:33:50 PM12/11/15
to nhibernat...@googlegroups.com
Gente un saludo, haber si pueden darme una mano con esto
Mi contexto: Una coordination tiene varias lineas de coordinacion, estas lineas no son si no pedidos de un producto especifico y su respectiva cantidad.
Una orden es practicamente una venta la misma que se alimenta de las coordinaciones disponibles, cada orden tiene una linea de orden, que hace referencia a una y solo una linea de coordinacion utilizada para esta.

Mi problema es el siguiente, varios usuarios crean una orden, alimentan esta (crean una linea de orden) con el detalle (linea de coordinacion) de una coordinacion, en ese momento a los dos se les muestra las mima linea de coordinacion y se selecciona la cantidad especifica de la coordinacion a utilizarse.
Obviamente una la primera orden en grabarse deberia ser la unica que termine el proceso, yo requiero q a las siguientes ordenes a procesarse se les emita un error que alerte lo que esta sucediendo.

Alguna manera elegante de hacer esto?, estoy usando nh 4, asp net web api y sql server 2005

Muchas gracias


Entonces 


--
Saludos
Edgar

Carlos Peix

unread,
Dec 13, 2015, 5:09:16 AM12/13/15
to nhibernate-hispano
Hola Edgar,

Mas que una solución técnica, hablemos de una solución de diseño, para lo cual suele darme buenos resultados pensarlo en el contexto físico.

Imaginate que esta misma operación tuviese que hacerse con cosas físicas: hay un lugar donde hay varias cajas (cada una es una coordinación) que tienen cajitas adentro (las lineas de coordinacion).

Un operario tiene que hacer una orden nueva, entonces toma una caja de ordenes vacía, le pone el nombre del cliente con un rotulador y comienza a recorrer las cajas de coordinación buscando cajitas, entonces las pone en su caja.

Si otro operador va a buscar la misma cajita en la caja de la misma coordinación, ya no la encuentra. Entonces desiste.

El primer operario ve que tiene la orden completa, entonces la cierra, la numera y la envía al cliente (graba en la base de datos).

Si este operario se da cuenta de que no puede completar la orden o el cliente le grita desde lejos que se arrepintió, entonces devuelve cada cajita a su caja de coordinación.

Hacer todo esto no es fácil porque tenes que introducir algún concepto nuevo, pero la usabilidad y beneficio para el usuario es seguramente mucho mejor que avisarle que la orden en la que estuvo trabajando 10 minutos ya no es viable.

Abrazo

----------------------------------
Carlos Peix

--
--
Para escribir al Grupo, hágalo a esta dirección: NHibernat...@googlegroups.com
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
---
Has recibido este mensaje porque estás suscrito al grupo "NHibernate-Hispano" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a nhibernate-hisp...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Edgar Ramos

unread,
Dec 14, 2015, 10:51:36 AM12/14/15
to nhibernat...@googlegroups.com
Gracias Carlos, entiendo tu punto, como adicional al contexto, debo decir que: las cajitas (lineas de coordinacion) dentro de las cajas a su vez pueden ser usadas en una orden en su totalidad o no, es decir, tengo una caja que internamente tiene 1 sola cajita, la totalidad de la cajita puede ser usada en una orden, o parte de esta en una orden 'A', otra en la 'B', y el resto en la 'C' en fin las combinaciones son multiples.

Entiendo que decirle al usuario al final del tiempo que su orden no es viable es bastante complejo, pero si de alguna manera se lograra mantener el registro de lo que el usuario realizo y al final se hiciera un merge con lo que no coicide??, no se estoy especulando un poco.

Sigo pensando, gracias nuevamente
Este correo electrónico se ha enviado desde un equipo libre de virus y protegido por Avast.
www.avast.com
--
Saludos
Edgar
Reply all
Reply to author
Forward
0 new messages