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
