TP Agenda - Enunciados

Requerimientos de Dominio:

Contactos
   Se necesita construir un modelo que permita a una persona administrar su lista de Contactos. Un Contacto tiene un nombre, un teléfono, un mail, una fecha de nacimiento, un campo de observaciones, y una ciudad. Las ciudades son administradas por el sistema, es decir, existe una lista de ciudades que el dominio ofrece para poder seleccionar una. Las ciudades tienen un nombre.
   

Eventos
    Se necesita construir un modelo que permita administrar una lista de Eventos. Un evento posee una fecha y hora de inicio, una fecha y hora de fin, una descripción y una indicación de si es importante o no.
    Cuando se agrega un evento se puede omitir cierta información: si no se indica fecha fin, el sistema asume que es una hora posterior a la fecha de inicio. Y si no se indica que una tarea es importante, entonces se asume como normal.
    Se tiene que validar que la fecha de inicio sea anterior a la fecha de fin.
    Un evento puede calcular la cantidad de horas que le insume.