view Agendas/trunk/src/Agendas.Domain/Track.cs @ 140:3639803112c6

Refactoring de la relación entre Evento y Estado
author nelopauselli
date Fri, 29 Jul 2011 16:30:53 -0300
parents 6f1041301797
children beeb48ddb44a
line wrap: on
line source

using System;
using System.Collections.Generic;

namespace AltNetHispano.Agendas.Domain
{
	public class Track : Identificable
	{
		private readonly IList<TrackLog> _logs;

		protected Track()
		{
			//ctor para NHibernate
			_logs = new List<TrackLog>();
		}

		public Track(Evento evento, Accion accion)
			: this()
		{
			Usuario = IdentityContext.GetUsuario();
			Evento = evento;
			Accion = accion;
		}

		public virtual Evento Evento { get; private set; }
		public virtual Accion Accion { get; private set; }
		public virtual Persona Usuario { get; private set; }

		public virtual IEnumerable<TrackLog> Logs
		{
			get { return _logs; }
		}

		public virtual void LogAdd(TrackLog trackLog)
		{
			trackLog.Track = this;
			_logs.Add(trackLog);
		}
	}

    public enum Accion
    {
        Proponer = 1,
        Agendar = 2,
        Modificar = 3,
        CambiarTitulo = 4,
        Publicar = 5,
        Confirmar = 6,
        Cancelar = 7,
        Descartar = 8,
        ReAgendar = 9,
        ReProponer = 10
    }
}