Gracias Daniel por la respuesta. 

El campo es por un lado calculado y deberia poder ser también actualizable
manualmente. 

Tu opción B es buena. Pero a lo que no lo encuentro la vuelta es como
“disparar” ese calculo por ejemplo. Suponiendo que hoy 18/07/2007 usuario
JUAN debería estar desactivado, no quisiera tener que esperar al momento que
JUAN intenta loguearse para comprobar la fecha y establecer que la condición
[isapproved] debería ser 0, o cuando alguien se loguea en el CMS el calculo
se dispare y se actualice la condición de todos los usuarios aprobados o no,
se entiende?

Estoy estudiando esta opción: Combine Web and Windows Services to Run Your
ASP.NET Code at Scheduled Intervals
http://msdn.microsoft.com/msdnmag/issues/05/03/SchedulingASPNETCode/

Pero antes de eso queria saber si pudiera haber alguna otra opción. Desde ya
muchas gracias.

 

________________________________________________________

Claudio M. E. Bastos Iorio

 <http://www.blumer.com.ar/> http://www.blumer.com.ar

 

 

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Daniel
Calvin
Sent: Wednesday, July 18, 2007 1:31 PM
To: [email protected]
Subject: [puntonet] mejor forma para hacer esto?

 

Hola Claudio


Opción A
Una forma, no es la que más me gusta, que se adapta a tu esquema que por lo
que parece esta centrado en datos es que [isapproved] sea un campo calculado
y no un campo actualizable. ( todo dentro del motor de base de datos
mediante alguna funcion o un subquery ) 

Opción B
Si por otra parte estas haciendo una aplicación mas OOP podrías tomar otro
enfoque, tener algún artefacto (clase)  experto en las cuestiones relativas
a los usuarios o usuario.
Esa clase debería ser la responsable en base al x tiempo y el resto de las
"variables" intervinientes en la determinacion de  [ isapproved]= true //
false.

1 - Ese enfoque te daría mayor flexibilidad ante el cambio.
2 - No dependerías de un estado persistido en tablas cuando en realidad es
el reultado de ciertas combinaciones y/u operaciones. 

Solo algunas opciones que se me ocurren.
En lo personal armaría todo en función de la Opción B.

Saludos

Daniel A. Calvin
Cooperator Team Member
http://www.cooperator.com.ar  <http://www.cooperator.com.ar> 
Microsoft Certified Professional 



El día 18/07/07, Claudio M. E. Bastos Iorio <[EMAIL PROTECTED]> escribió:

Tengo una tabla de usuarios con una columa [isapproved], que toma valores
0-1 en base a una aprobación manual via CMS. En base a [isapproved] el
usuario accede o no a ciertas funcionalidades. Hasta ahí todo ok. 

Ahora necesito hacer expirar esa condición en "x" tiempo, digamos un año, la
fecha en que debe expirar es un valor en otra columna. Se que podría
chequear si hay un usuario "para expirar" ese día cada vez que me logueo en
el CMS, pero no lo veo muy "elegante". Que otras forma habría de hacer esto?
Sugerencias?

Desde ya muchas gracias.

 

________________________________________________________

Claudio M. E. Bastos Iorio

 <http://www.blumer.com.ar/> http://www.blumer.com.ar

 

 




-- 
Daniel A. Calvin
Cooperator Team Member
http://www.cooperator.com.ar
Microsoft Certified Professional 

Responder a