view Agendas/trunk/src/Agendas.Domain/Persona.cs @ 96:1eb5a0e531bf

Funcionamiento con cuenta interna y con cuenta de twitter, falta unificar usuarios Estructura de aspnetdb dentro de base de datos de altnet hispano, se debe ejecutar: C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe para crear dicha estructura, de todas formas el objetivo seria tener una tabla de usuario y password interna, no parecería ser necesaria toda la estructura de aspnetdb
author Nelo@Kenia.neluz.int
date Sat, 04 Jun 2011 19:37:02 -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
	}
}