Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Domain/Evento.cs @ 57:3d9e6d56d903
Refactoring del track de cambios de un evento
author | nelopauselli |
---|---|
date | Mon, 16 May 2011 20:23:31 -0300 |
parents | 65bbcdd5d357 |
children | cb3f7b47c1f0 |
rev | line source |
---|---|
1 | 1 using System; |
12 | 2 using System.Collections.Generic; |
1 | 3 |
4 namespace AltNetHispano.Agendas.Domain | |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
5 { |
56
65bbcdd5d357
Pasando la responsabilidad de generar el Id al repositorio
nelopauselli
parents:
54
diff
changeset
|
6 public class Evento : Identificable |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
7 { |
54 | 8 private readonly IList<Track> _tracks; |
9 private IList<string> _enlaces; | |
42 | 10 |
57 | 11 public static Evento Proponer(string titulo, Ponente ponente) |
54 | 12 { |
57 | 13 var evento = new Evento { Titulo = titulo, Ponente = ponente }; |
14 evento.AddTracks(new Track(Accion.Proponer)); | |
15 | |
16 return evento; | |
17 } | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
18 |
57 | 19 public static Evento Publicar(string titulo, Ponente ponente, DateTime fecha) |
20 { | |
21 var evento = new Evento { Titulo = titulo }; | |
22 evento.Publicar(ponente, fecha); | |
23 | |
24 return evento; | |
25 } | |
26 | |
27 private Evento() | |
28 { | |
54 | 29 _enlaces = new List<string>(); |
30 _tracks = new List<Track>(); | |
31 } | |
32 | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
33 public string Titulo { get; private set; } |
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
34 public DateTime? Fecha { get; private set; } |
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
35 public string Sintesis { get; private set; } |
54 | 36 public Ponente Ponente { get; private set; } |
39 | 37 |
54 | 38 public IEnumerable<string> Enlaces |
39 { | |
40 get { return _enlaces; } | |
41 } | |
42 | |
43 public IEnumerable<Track> Tracks | |
44 { | |
45 get { return _tracks; } | |
46 } | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
47 |
54 | 48 public void Actualizar(Ponente ponente, DateTime? fecha) |
49 { | |
50 Ponente = ponente; | |
51 Fecha = fecha; | |
39 | 52 |
54 | 53 AddTracks(new Track(Accion.Modificar)); |
54 } | |
41
07c47ea2ac00
movimos el AddTrack a cada acción dentro de Evento
nelopauselli
parents:
39
diff
changeset
|
55 |
54 | 56 public void CambiarTitulo(string titulo) |
57 { | |
58 Titulo = titulo; | |
59 AddTracks(new Track(Accion.CambiarTitulo)); | |
60 } | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
61 |
54 | 62 public void Publicar(Ponente ponente, DateTime? fecha) |
63 { | |
64 Ponente = ponente; | |
65 Fecha = fecha; | |
66 AddTracks(new Track(Accion.Publicar)); | |
67 } | |
39 | 68 |
54 | 69 public void Realizado(DateTime fecha, string sintesis, IList<string> enlaces) |
70 { | |
71 Fecha = fecha; | |
72 Sintesis = sintesis; | |
73 _enlaces = enlaces; | |
74 } | |
39 | 75 |
54 | 76 public void Realizado(string sintesis) |
77 { | |
78 Sintesis = sintesis; | |
79 AddTracks(new Track(Accion.Realizar)); | |
80 } | |
41
07c47ea2ac00
movimos el AddTrack a cada acción dentro de Evento
nelopauselli
parents:
39
diff
changeset
|
81 |
54 | 82 private void AddTracks(Track track) |
83 { | |
84 _tracks.Add(track); | |
85 } | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
86 } |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
87 } |