Mercurial > altnet-hispano
diff Agendas/trunk/src/Agendas.Domain/Persona.cs @ 94:db4b1e2cae49
Cambio del nombre de la clase Ponente a Persona
Se agrega la clase Cuenta para identificar cada una de las cuentas con que se puede autenticar una persona
Alta Automatica de cuentas de twitter creando la persona
author | Nelo@Kenia.neluz.int |
---|---|
date | Sat, 04 Jun 2011 12:11:17 -0300 |
parents | |
children | 83d76f6e0a3c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Domain/Persona.cs Sat Jun 04 12:11:17 2011 -0300 @@ -0,0 +1,80 @@ +using System.Collections.Generic; + +namespace AltNetHispano.Agendas.Domain +{ + public class Persona : Identificable + { + private readonly IList<Evento> _eventos; + private readonly IList<Cuenta> _cuentas; + + protected Persona() + { + //ctor para NHibernate + } + + public Persona(string nombre, string mail, string twitter, string blog) + : this(nombre) + { + Mail = mail; + Twitter = twitter; + Blog = blog; + } + + public Persona(string nombre) + { + Nombre = nombre; + _eventos = new List<Evento>(); + _cuentas=new List<Cuenta>(); + } + + public virtual string Nombre { get; private set; } + + public virtual string Mail { get; private set; } + + public virtual string Twitter { get; set; } + + public virtual string Blog { get; private set; } + + public virtual IEnumerable<Evento> Eventos + { + get { return _eventos; } + } + + public virtual void AddEvento(Evento evento) + { + if (!_eventos.Contains(evento)) + _eventos.Add(evento); + } + + public virtual void RemoveEvento(Evento evento) + { + if (_eventos.Contains(evento)) + _eventos.Remove(evento); + } + + public virtual IEnumerable<Cuenta> Cuentas + { + get { return _cuentas; } + } + + public virtual void AddCuenta(Cuenta cuenta) + { + if (!_cuentas.Contains(cuenta)) + _cuentas.Add(cuenta); + cuenta.Persona = this; + } + + public virtual void RemoveCuenta(Cuenta cuenta) + { + if (_cuentas.Contains(cuenta)) + _cuentas.Remove(cuenta); + cuenta.Persona = null; + } + } + + public enum IdentityProviderEnum + { + BuiltIn = 1, + Twitter = 2 + } +} \ No newline at end of file