view Agendas/trunk/src/Agendas.Domain/Ponente.cs @ 74:bc46e7426c80

Refactoring de acciones según la definición del diagrama de estados en assembla (https://www.assembla.com/spaces/altnet-hispano/wiki/Estados_de_un_evento)
author nelopauselli
date Mon, 23 May 2011 20:13:37 -0300
parents 963b71ea6028
children
line wrap: on
line source

using System;
using System.Collections.Generic;

namespace AltNetHispano.Agendas.Domain
{
	public class Ponente : Identificable
	{
		private readonly IList<Evento> _eventos;

		protected Ponente()
		{
			//ctor para NHibernate
		}

		public Ponente(string nombre, string mail, string twitter, string blog)
			: this(nombre)
		{
			Mail = mail;
			Twitter = twitter;
			Blog = blog;
		}

		public Ponente(string nombre)
		{
			Nombre = nombre;
			_eventos = new List<Evento>();
		}

		public virtual string Nombre { get; private set; }

		public virtual string Mail { get; private set; }

		public virtual string Twitter { get; private 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);
		}
	}
}