view Agendas/trunk/src/Agendas.Domain/Track.cs @ 185:2d02adb79322

Se agrega fecha de termino de un Evento y se incluye la hora a la fecha de inicio. Se modifica la propiedad Fecha del Evento, renombrandola FechaInicio. En el ModelView se agrega propiedades Duración y Hora del Evento cuando es Modificado, Nuevo y Agendado. Las fechas ingresadas son creadas en sistema UTC Queda pendiente Agregar duración a Google Calendar.
author alabra
date Tue, 09 Aug 2011 01:04:27 -0400
parents beeb48ddb44a
children
line wrap: on
line source

using System;
using System.Collections.Generic;

namespace AltNetHispano.Agendas.Domain
{
	public class Track : Identificable
	{
		private readonly IList<TrackLog> _logs;
		private readonly ICollection<TrackLog> _newLogs = new List<TrackLog>();

		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);
			_newLogs.Add(trackLog);

		}

		public virtual IEnumerable<TrackLog> GetLogsNews()
		{
			return _newLogs;
		}
	}

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