view Agendas/trunk/src/Agendas.Domain/Persona.cs @ 95:83d76f6e0a3c

Quitando la lista de eventos de la persona ya que no se usaba mas que en los tests
author Nelo@Kenia.neluz.int
date Sat, 04 Jun 2011 18:33:15 -0300
parents db4b1e2cae49
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
	}
}