view Agendas/trunk/src/Agendas.Domain/Persona.cs @ 120:c3573defd18f

Agregado de Fecha, Usuario y Successful en TrackLog Modificacion de publicador de blog para usar TrackLog Agregado de TrackLog en el test de crud de eventos Fix en publicador de twitter para que no twitee si ya se encuentra en TrackLog pero con Successful en true
author Jorge@Jorge-PC
date Fri, 24 Jun 2011 21:18:21 -0300
parents 83d76f6e0a3c
children 62dc9fb3a03e
line wrap: on
line source

using System.Collections.Generic;

namespace AltNetHispano.Agendas.Domain
{
	public class Persona : Identificable
	{
		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;
			_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<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
	}
}