diff Agendas/trunk/src/Agendas.Domain/Evento.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 5346c0500594
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/Evento.cs	Mon Aug 08 22:32:12 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/Evento.cs	Tue Aug 09 01:04:27 2011 -0400
@@ -25,9 +25,14 @@
 		/// <summary>
 		/// Fecha para la que se encuentra agendado el evento
 		/// </summary>
-		public virtual DateTime? Fecha { get; private set; }
+		public virtual DateTime? FechaInicio { get; private set; }
 
-		/// <summary>
+        /// <summary>
+        /// Fecha de termino o finalización del evento.
+        /// </summary>
+        public virtual DateTime? FechaTermino { get; private set; }
+
+	    /// <summary>
 		/// Url con la invitacion realizada por el ponente (en la mayoria de los casos va a ser un link al thread de la lista de correo)
 		/// </summary>
 		public virtual string UrlInvitacion { get; private set; }
@@ -118,41 +123,45 @@
 			return evento;
 		}
 
-		/// <summary>
-		/// Agenda un evento que no estaba propuesto
-		/// </summary>
-		/// <param name="titulo">Título del evento a agendar</param>
-		/// <param name="persona">Ponente para el evento</param>
-		/// <param name="fecha">Fecha de realización del evento</param>
-		/// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param>
-		/// <param name="tipo">Tipo del evento</param>
-		/// <returns></returns>
-		public static Evento Agendar(string titulo, Persona persona, DateTime fecha, string urlInvitacion, TipoEvento tipo)
+	    /// <summary>
+	    /// Agenda un evento que no estaba propuesto
+	    /// </summary>
+	    /// <param name="titulo">Título del evento a agendar</param>
+	    /// <param name="persona">Ponente para el evento</param>
+	    /// <param name="fechaInicio">Fecha de realización del evento</param>
+	    /// <param name="fechaTermino">Fecha de termino del evento</param>
+	    /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param>
+	    /// <param name="tipo">Tipo del evento</param>
+	    /// <returns></returns>
+	    public static Evento Agendar(string titulo, Persona persona, DateTime fechaInicio, DateTime fechaTermino, string urlInvitacion, TipoEvento tipo)
 		{
 			var evento = new Evento { Titulo = titulo, Tipo = tipo };
-			evento.Agendar(persona, fecha, urlInvitacion);
+			evento.Agendar(persona, fechaInicio, fechaTermino, urlInvitacion);
 
 			return evento;
 		}
 
-		/// <summary>
-		/// Agenda el evento actual
-		/// </summary>
-		/// <param name="persona">Ponente para el evento</param>
-		/// <param name="fecha">Fecha de realización del evento</param>
-		/// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param>
-		public virtual void Agendar(Persona persona, DateTime? fecha, string urlInvitacion)
+	    /// <summary>
+	    /// Agenda el evento actual
+	    /// </summary>
+	    /// <param name="persona">Ponente para el evento</param>
+        /// <param name="fechaInicio">Fecha de realización del evento</param>
+	    /// <param name="fechaTermino">Fecha de termino del evento</param>
+	    /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param>
+	    public virtual void Agendar(Persona persona, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion)
 		{
 			Ponente = persona;
-			Fecha = fecha;
+            FechaInicio = fechaInicio;
+	        FechaTermino = fechaTermino;
 			UrlInvitacion = urlInvitacion;
 			Estado.Promover(this, Accion.Agendar);
 		}
 
-		public virtual void Actualizar(Persona persona, DateTime? fecha, string urlInvitacion)
+		public virtual void Actualizar(Persona persona, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion)
 		{
 			Ponente = persona;
-			Fecha = fecha;
+			FechaInicio = fechaInicio;
+		    FechaTermino = fechaTermino;
 			UrlInvitacion = urlInvitacion;
 
 			AddTrack(new Track(this, Accion.Modificar));