Mercurial > altnet-hispano
comparison 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 |
comparison
equal
deleted
inserted
replaced
184:2a336a6a76b5 | 185:2d02adb79322 |
---|---|
23 public virtual string Titulo { get; private set; } | 23 public virtual string Titulo { get; private set; } |
24 | 24 |
25 /// <summary> | 25 /// <summary> |
26 /// Fecha para la que se encuentra agendado el evento | 26 /// Fecha para la que se encuentra agendado el evento |
27 /// </summary> | 27 /// </summary> |
28 public virtual DateTime? Fecha { get; private set; } | 28 public virtual DateTime? FechaInicio { get; private set; } |
29 | 29 |
30 /// <summary> | 30 /// <summary> |
31 /// Fecha de termino o finalización del evento. | |
32 /// </summary> | |
33 public virtual DateTime? FechaTermino { get; private set; } | |
34 | |
35 /// <summary> | |
31 /// 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) | 36 /// 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) |
32 /// </summary> | 37 /// </summary> |
33 public virtual string UrlInvitacion { get; private set; } | 38 public virtual string UrlInvitacion { get; private set; } |
34 | 39 |
35 /// <summary> | 40 /// <summary> |
116 evento.Estado.Promover(evento, Accion.Proponer); | 121 evento.Estado.Promover(evento, Accion.Proponer); |
117 | 122 |
118 return evento; | 123 return evento; |
119 } | 124 } |
120 | 125 |
121 /// <summary> | 126 /// <summary> |
122 /// Agenda un evento que no estaba propuesto | 127 /// Agenda un evento que no estaba propuesto |
123 /// </summary> | 128 /// </summary> |
124 /// <param name="titulo">Título del evento a agendar</param> | 129 /// <param name="titulo">Título del evento a agendar</param> |
125 /// <param name="persona">Ponente para el evento</param> | 130 /// <param name="persona">Ponente para el evento</param> |
126 /// <param name="fecha">Fecha de realización del evento</param> | 131 /// <param name="fechaInicio">Fecha de realización del evento</param> |
127 /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param> | 132 /// <param name="fechaTermino">Fecha de termino del evento</param> |
128 /// <param name="tipo">Tipo del evento</param> | 133 /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param> |
129 /// <returns></returns> | 134 /// <param name="tipo">Tipo del evento</param> |
130 public static Evento Agendar(string titulo, Persona persona, DateTime fecha, string urlInvitacion, TipoEvento tipo) | 135 /// <returns></returns> |
136 public static Evento Agendar(string titulo, Persona persona, DateTime fechaInicio, DateTime fechaTermino, string urlInvitacion, TipoEvento tipo) | |
131 { | 137 { |
132 var evento = new Evento { Titulo = titulo, Tipo = tipo }; | 138 var evento = new Evento { Titulo = titulo, Tipo = tipo }; |
133 evento.Agendar(persona, fecha, urlInvitacion); | 139 evento.Agendar(persona, fechaInicio, fechaTermino, urlInvitacion); |
134 | 140 |
135 return evento; | 141 return evento; |
136 } | 142 } |
137 | 143 |
138 /// <summary> | 144 /// <summary> |
139 /// Agenda el evento actual | 145 /// Agenda el evento actual |
140 /// </summary> | 146 /// </summary> |
141 /// <param name="persona">Ponente para el evento</param> | 147 /// <param name="persona">Ponente para el evento</param> |
142 /// <param name="fecha">Fecha de realización del evento</param> | 148 /// <param name="fechaInicio">Fecha de realización del evento</param> |
143 /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param> | 149 /// <param name="fechaTermino">Fecha de termino del evento</param> |
144 public virtual void Agendar(Persona persona, DateTime? fecha, string urlInvitacion) | 150 /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param> |
151 public virtual void Agendar(Persona persona, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion) | |
145 { | 152 { |
146 Ponente = persona; | 153 Ponente = persona; |
147 Fecha = fecha; | 154 FechaInicio = fechaInicio; |
155 FechaTermino = fechaTermino; | |
148 UrlInvitacion = urlInvitacion; | 156 UrlInvitacion = urlInvitacion; |
149 Estado.Promover(this, Accion.Agendar); | 157 Estado.Promover(this, Accion.Agendar); |
150 } | 158 } |
151 | 159 |
152 public virtual void Actualizar(Persona persona, DateTime? fecha, string urlInvitacion) | 160 public virtual void Actualizar(Persona persona, DateTime? fechaInicio, DateTime? fechaTermino, string urlInvitacion) |
153 { | 161 { |
154 Ponente = persona; | 162 Ponente = persona; |
155 Fecha = fecha; | 163 FechaInicio = fechaInicio; |
164 FechaTermino = fechaTermino; | |
156 UrlInvitacion = urlInvitacion; | 165 UrlInvitacion = urlInvitacion; |
157 | 166 |
158 AddTrack(new Track(this, Accion.Modificar)); | 167 AddTrack(new Track(this, Accion.Modificar)); |
159 } | 168 } |
160 | 169 |