comparison Agendas/trunk/src/Agendas.Domain/Evento.cs @ 94:db4b1e2cae49

Cambio del nombre de la clase Ponente a Persona Se agrega la clase Cuenta para identificar cada una de las cuentas con que se puede autenticar una persona Alta Automatica de cuentas de twitter creando la persona
author Nelo@Kenia.neluz.int
date Sat, 04 Jun 2011 12:11:17 -0300
parents 26d0513a8410
children 83d76f6e0a3c
comparison
equal deleted inserted replaced
93:65f0b3d70c18 94:db4b1e2cae49
11 } 11 }
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 Persona _persona;
17 private readonly ICollection<Track> _newTracks = new List<Track>(); 17 private readonly ICollection<Track> _newTracks = new List<Track>();
18 18
19 /// <summary> 19 /// <summary>
20 /// Título del evento 20 /// Título del evento
21 /// </summary> 21 /// </summary>
42 public virtual short NumeroOrden { get; private set; } 42 public virtual short NumeroOrden { get; private set; }
43 43
44 /// <summary> 44 /// <summary>
45 /// Ponente o responsable del evento 45 /// Ponente o responsable del evento
46 /// </summary> 46 /// </summary>
47 public virtual Ponente Ponente 47 public virtual Persona Persona
48 { 48 {
49 get { return _ponente; } 49 get { return _persona; }
50 private set 50 private set
51 { 51 {
52 if (value == null && _ponente != null || value != _ponente && _ponente != null) 52 if (value == null && _persona != null || value != _persona && _persona != null)
53 _ponente.RemoveEvento(this); 53 _persona.RemoveEvento(this);
54 if (value != null) 54 if (value != null)
55 value.AddEvento(this); 55 value.AddEvento(this);
56 _ponente = value; 56 _persona = value;
57 } 57 }
58 } 58 }
59 59
60 /// <summary> 60 /// <summary>
61 /// Track de cambios que ha sufrido el evento 61 /// Track de cambios que ha sufrido el evento
71 71
72 /// <summary> 72 /// <summary>
73 /// Propone un evento 73 /// Propone un evento
74 /// </summary> 74 /// </summary>
75 /// <param name="titulo">Título del evento propuesto</param> 75 /// <param name="titulo">Título del evento propuesto</param>
76 /// <param name="ponente">Ponente para evento propuesto</param> 76 /// <param name="persona">Ponente para evento propuesto</param>
77 /// <returns></returns> 77 /// <returns></returns>
78 public static Evento Proponer(string titulo, Ponente ponente, string urlInvitacion) 78 public static Evento Proponer(string titulo, Persona persona, string urlInvitacion)
79 { 79 {
80 var evento = new Evento {Titulo = titulo, Ponente = ponente, UrlInvitacion = urlInvitacion}; 80 var evento = new Evento {Titulo = titulo, Persona = persona, UrlInvitacion = urlInvitacion};
81 evento.AddTrack(new Track(evento, Accion.Proponer)); 81 evento.AddTrack(new Track(evento, Accion.Proponer));
82 82
83 return evento; 83 return evento;
84 } 84 }
85 85
86 /// <summary> 86 /// <summary>
87 /// Agenda un evento que no estaba propuesto 87 /// Agenda un evento que no estaba propuesto
88 /// </summary> 88 /// </summary>
89 /// <param name="titulo">Título del evento a agendar</param> 89 /// <param name="titulo">Título del evento a agendar</param>
90 /// <param name="ponente">Ponente para el evento</param> 90 /// <param name="persona">Ponente para el evento</param>
91 /// <param name="fecha">Fecha de realización del evento</param> 91 /// <param name="fecha">Fecha de realización del evento</param>
92 /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param> 92 /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param>
93 /// <returns></returns> 93 /// <returns></returns>
94 public static Evento Agendar(string titulo, Ponente ponente, DateTime fecha, string urlInvitacion) 94 public static Evento Agendar(string titulo, Persona persona, DateTime fecha, string urlInvitacion)
95 { 95 {
96 var evento = new Evento { Titulo = titulo }; 96 var evento = new Evento { Titulo = titulo };
97 evento.Agendar(ponente, fecha, urlInvitacion); 97 evento.Agendar(persona, fecha, urlInvitacion);
98 98
99 return evento; 99 return evento;
100 } 100 }
101 101
102 /// <summary> 102 /// <summary>
103 /// Agenda el evento actual 103 /// Agenda el evento actual
104 /// </summary> 104 /// </summary>
105 /// <param name="ponente">Ponente para el evento</param> 105 /// <param name="persona">Ponente para el evento</param>
106 /// <param name="fecha">Fecha de realización del evento</param> 106 /// <param name="fecha">Fecha de realización del evento</param>
107 /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param> 107 /// <param name="urlInvitacion">Url con la invitación realizada por el ponente</param>
108 public virtual void Agendar(Ponente ponente, DateTime? fecha, string urlInvitacion) 108 public virtual void Agendar(Persona persona, DateTime? fecha, string urlInvitacion)
109 { 109 {
110 Ponente = ponente; 110 Persona = persona;
111 Fecha = fecha; 111 Fecha = fecha;
112 UrlInvitacion = urlInvitacion; 112 UrlInvitacion = urlInvitacion;
113 AddTrack(new Track(this, Accion.Agendar)); 113 AddTrack(new Track(this, Accion.Agendar));
114 } 114 }
115 115
116 public virtual void Actualizar(Ponente ponente, DateTime? fecha, string urlInvitacion) 116 public virtual void Actualizar(Persona persona, DateTime? fecha, string urlInvitacion)
117 { 117 {
118 Ponente = ponente; 118 Persona = persona;
119 Fecha = fecha; 119 Fecha = fecha;
120 UrlInvitacion = urlInvitacion; 120 UrlInvitacion = urlInvitacion;
121 121
122 AddTrack(new Track(this, Accion.Modificar)); 122 AddTrack(new Track(this, Accion.Modificar));
123 } 123 }