Continuacion del Post: Como hacer una version de prueba

22/07/2004 - 00:05 por Alejandro Perez | Informe spam
Continuacion del Post: Como hacer una version de prueba.

Bueno, vamos con eso entonces. Por alli se anotaron
David, Pepe y Carlos Loachamin.

Estuve pensando un poco en como seria el componente. Voy
a empezar a plasmar las ideas sin pensarlas mucho y las
vamos puliendo. Existirian dos clases:

- Utils // Realiza todas las tareas comunes (IO por
ejemplo).

- Trial // Main Class que contiene la funcionalidad base
para el control del Trial.

Esta ultima clase tendria los siguientes miembros:

Propiedades:

- public datetime InstalationDate : (get) // Indica la
fecha de instalacion del producto.
- public int DaysToExpiration : (get) // Indica la
cantidad de dias restantes para la expiracion del
producto.
- public string ProductName : (get) // Indica el nombre
del producto.
- public bool IsValidProduct : (get) // Indica si el
producto es valido para uso.
- public int TrialDays : (get) // Indica la cantidad de
dias trial del producto.

Metodos Publicos:

- public void Trial(string ProductName, int TrialDays)
// Establece la propiedad ProductName con el valor
indicado por parámetro, el valor de la propiedad
DaysToExpiration con el valor retornado por la funcion
_GetDaysToExpiration, el valor de la propiedad
InstalationDate con el valor retornado por la funcion
_GetInstalationDate, el valor de la propiedad TrialDays
con el valor indicado por parámetro y el valor de la
propiedad IsValidProduct con el valor retornado por la
funcion _IsValidProduct.

- public void RegisterUse()
// Crea un nuevo registro en el log de uso del producto,
establece el valor de la propiedad IsValidProduct con el
valor retornado por la funcion _IsValidProduct.


Metodos Privados:

// Retorna valor que indica la cantidad de días restantes
para la expiracion del producto mediante el valor
retornado por la funcion _GetInstalationDate y la
propiedad TrialDays. Si el producto es usado por primera
vez, se retorna el valor de TrialDays.
- private int _GetDaysToExpiration()

// Retorna valor que indica la fecha de instalacion
(primer uso) del producto. Si no existe fecha en el log,
se retorna null
- private DateTime _GetInstalationDate()

// Retorna valor que indica si el producto es valido. El
producto NO es considerado valido si algunas de las
siguientes condiciones se cumplen: A) El valor retornado
por la funcion _GetDaysToExpiration es 0. B) La ultima
fecha de uso del producto es mayor a la fecha actual. (Se
puede asumir que la ultima fecha de uso es la fecha de
instalación. Si el producto es usado por primera vez, se
considera que el producto es valido).
- private bool _IsValidProduct()


Esa es una idea muuuuy simple de lo que mas o menos
podriamos hacer. De aquí espero saquen mil y una criticas
para hacer algo bueno con esto. Ahh por cierto, pense en
el nombre: TrialMonitorNET

Que dicen ? :p

Bye.
Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela
 

Leer las respuestas

#1 Carlos Loachamin
22/07/2004 - 01:22 | Informe spam
excelente análisis,
no acabo de analizar todo, pero creo que estas restricciones debiesen ser
tomados en cuenta.

La fecha no debiese tomarse del sistema, si no del bios.
Debiese existir un método de encriptación para el log

por el momento es todo.

Saludos
Carlos


"Alejandro Perez" escribió en el mensaje
news:1a6101c46f6e$d1393710$
Continuacion del Post: Como hacer una version de prueba.

Bueno, vamos con eso entonces. Por alli se anotaron
David, Pepe y Carlos Loachamin.

Estuve pensando un poco en como seria el componente. Voy
a empezar a plasmar las ideas sin pensarlas mucho y las
vamos puliendo. Existirian dos clases:

- Utils // Realiza todas las tareas comunes (IO por
ejemplo).

- Trial // Main Class que contiene la funcionalidad base
para el control del Trial.

Esta ultima clase tendria los siguientes miembros:

Propiedades:

- public datetime InstalationDate : (get) // Indica la
fecha de instalacion del producto.
- public int DaysToExpiration : (get) // Indica la
cantidad de dias restantes para la expiracion del
producto.
- public string ProductName : (get) // Indica el nombre
del producto.
- public bool IsValidProduct : (get) // Indica si el
producto es valido para uso.
- public int TrialDays : (get) // Indica la cantidad de
dias trial del producto.

Metodos Publicos:

- public void Trial(string ProductName, int TrialDays)
// Establece la propiedad ProductName con el valor
indicado por parámetro, el valor de la propiedad
DaysToExpiration con el valor retornado por la funcion
_GetDaysToExpiration, el valor de la propiedad
InstalationDate con el valor retornado por la funcion
_GetInstalationDate, el valor de la propiedad TrialDays
con el valor indicado por parámetro y el valor de la
propiedad IsValidProduct con el valor retornado por la
funcion _IsValidProduct.

- public void RegisterUse()
// Crea un nuevo registro en el log de uso del producto,
establece el valor de la propiedad IsValidProduct con el
valor retornado por la funcion _IsValidProduct.


Metodos Privados:

// Retorna valor que indica la cantidad de días restantes
para la expiracion del producto mediante el valor
retornado por la funcion _GetInstalationDate y la
propiedad TrialDays. Si el producto es usado por primera
vez, se retorna el valor de TrialDays.
- private int _GetDaysToExpiration()

// Retorna valor que indica la fecha de instalacion
(primer uso) del producto. Si no existe fecha en el log,
se retorna null
- private DateTime _GetInstalationDate()

// Retorna valor que indica si el producto es valido. El
producto NO es considerado valido si algunas de las
siguientes condiciones se cumplen: A) El valor retornado
por la funcion _GetDaysToExpiration es 0. B) La ultima
fecha de uso del producto es mayor a la fecha actual. (Se
puede asumir que la ultima fecha de uso es la fecha de
instalación. Si el producto es usado por primera vez, se
considera que el producto es valido).
- private bool _IsValidProduct()


Esa es una idea muuuuy simple de lo que mas o menos
podriamos hacer. De aquí espero saquen mil y una criticas
para hacer algo bueno con esto. Ahh por cierto, pense en
el nombre: TrialMonitorNET

Que dicen ? :p

Bye.
Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela

Preguntas similares