Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Domain/Evento.cs @ 87:26d0513a8410
A los publicadores les llega la lista de tracks producidos en la acción realizada
Quitamos el concepto de Recordador ya que el mismo es un publicador, cuándo publicar es responsabilidad de cada publicador
author | nelopauselli |
---|---|
date | Fri, 27 May 2011 14:42:38 -0300 |
parents | c76661cff260 |
children | db4b1e2cae49 |
comparison
equal
deleted
inserted
replaced
86:723aed93a0e6 | 87:26d0513a8410 |
---|---|
12 | 12 |
13 #region Propiedades del Evento | 13 #region Propiedades del Evento |
14 | 14 |
15 private readonly IList<Track> _tracks; | 15 private readonly IList<Track> _tracks; |
16 private Ponente _ponente; | 16 private Ponente _ponente; |
17 private readonly ICollection<Track> _newTracks = new List<Track>(); | |
17 | 18 |
18 /// <summary> | 19 /// <summary> |
19 /// Título del evento | 20 /// Título del evento |
20 /// </summary> | 21 /// </summary> |
21 public virtual string Titulo { get; private set; } | 22 public virtual string Titulo { get; private set; } |
75 /// <param name="ponente">Ponente para evento propuesto</param> | 76 /// <param name="ponente">Ponente para evento propuesto</param> |
76 /// <returns></returns> | 77 /// <returns></returns> |
77 public static Evento Proponer(string titulo, Ponente ponente, string urlInvitacion) | 78 public static Evento Proponer(string titulo, Ponente ponente, string urlInvitacion) |
78 { | 79 { |
79 var evento = new Evento {Titulo = titulo, Ponente = ponente, UrlInvitacion = urlInvitacion}; | 80 var evento = new Evento {Titulo = titulo, Ponente = ponente, UrlInvitacion = urlInvitacion}; |
80 evento.AddTracks(new Track(evento, Accion.Proponer)); | 81 evento.AddTrack(new Track(evento, Accion.Proponer)); |
81 | 82 |
82 return evento; | 83 return evento; |
83 } | 84 } |
84 | 85 |
85 /// <summary> | 86 /// <summary> |
107 public virtual void Agendar(Ponente ponente, DateTime? fecha, string urlInvitacion) | 108 public virtual void Agendar(Ponente ponente, DateTime? fecha, string urlInvitacion) |
108 { | 109 { |
109 Ponente = ponente; | 110 Ponente = ponente; |
110 Fecha = fecha; | 111 Fecha = fecha; |
111 UrlInvitacion = urlInvitacion; | 112 UrlInvitacion = urlInvitacion; |
112 AddTracks(new Track(this, Accion.Agendar)); | 113 AddTrack(new Track(this, Accion.Agendar)); |
113 } | 114 } |
114 | 115 |
115 public virtual void Actualizar(Ponente ponente, DateTime? fecha, string urlInvitacion) | 116 public virtual void Actualizar(Ponente ponente, DateTime? fecha, string urlInvitacion) |
116 { | 117 { |
117 Ponente = ponente; | 118 Ponente = ponente; |
118 Fecha = fecha; | 119 Fecha = fecha; |
119 UrlInvitacion = urlInvitacion; | 120 UrlInvitacion = urlInvitacion; |
120 | 121 |
121 AddTracks(new Track(this, Accion.Modificar)); | 122 AddTrack(new Track(this, Accion.Modificar)); |
122 } | 123 } |
123 | 124 |
124 public virtual void CambiarTitulo(string titulo) | 125 public virtual void CambiarTitulo(string titulo) |
125 { | 126 { |
126 Titulo = titulo; | 127 Titulo = titulo; |
127 AddTracks(new Track(this, Accion.CambiarTitulo)); | 128 AddTrack(new Track(this, Accion.CambiarTitulo)); |
128 } | 129 } |
129 | 130 |
130 public virtual void Confirmar() | 131 public virtual void Confirmar() |
131 { | 132 { |
132 AddTracks(new Track(this, Accion.Confirmar)); | 133 AddTrack(new Track(this, Accion.Confirmar)); |
133 } | 134 } |
134 | 135 |
135 public virtual void Publicar() | 136 public virtual void Publicar() |
136 { | 137 { |
137 AddTracks(new Track(this, Accion.Publicar)); | 138 AddTrack(new Track(this, Accion.Publicar)); |
138 } | 139 } |
139 | 140 |
140 #endregion | 141 #endregion |
141 | 142 |
142 private void AddTracks(Track track) | 143 private void AddTrack(Track track) |
143 { | 144 { |
145 _newTracks.Add(track); | |
144 _tracks.Add(track); | 146 _tracks.Add(track); |
145 } | 147 } |
146 | 148 |
149 public virtual IEnumerable<Track> GetTrackNews() | |
150 { | |
151 return _newTracks; | |
152 } | |
147 } | 153 } |
148 } | 154 } |