Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Domain/Evento.cs @ 56:65bbcdd5d357
Pasando la responsabilidad de generar el Id al repositorio
author | nelopauselli |
---|---|
date | Mon, 16 May 2011 20:15:05 -0300 |
parents | 3059a5f8930f |
children | 3d9e6d56d903 |
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 |
54 | 11 public Evento(string titulo) |
12 { | |
13 Titulo = titulo; | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
14 |
54 | 15 _enlaces = new List<string>(); |
16 _tracks = new List<Track>(); | |
17 } | |
18 | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
19 public string Titulo { get; private set; } |
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
20 public DateTime? Fecha { get; private set; } |
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
21 public string Sintesis { get; private set; } |
54 | 22 public Ponente Ponente { get; private set; } |
23 protected string Usuario { get; private set; } | |
39 | 24 |
54 | 25 public IEnumerable<string> Enlaces |
26 { | |
27 get { return _enlaces; } | |
28 } | |
29 | |
30 public IEnumerable<Track> Tracks | |
31 { | |
32 get { return _tracks; } | |
33 } | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
34 |
54 | 35 public void Actualizar(Ponente ponente, DateTime? fecha) |
36 { | |
37 Usuario = IdentityContext.GetUserName(); | |
38 Ponente = ponente; | |
39 Fecha = fecha; | |
39 | 40 |
54 | 41 AddTracks(new Track(Accion.Modificar)); |
42 } | |
41
07c47ea2ac00
movimos el AddTrack a cada acción dentro de Evento
nelopauselli
parents:
39
diff
changeset
|
43 |
54 | 44 public void Actualizar(Ponente ponente) |
45 { | |
46 Usuario = IdentityContext.GetUserName(); | |
47 Ponente = ponente; | |
48 } | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
49 |
54 | 50 public void CambiarTitulo(string titulo) |
51 { | |
52 Usuario = IdentityContext.GetUserName(); | |
53 Titulo = titulo; | |
54 AddTracks(new Track(Accion.CambiarTitulo)); | |
55 } | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
56 |
54 | 57 public void Publicar(Ponente ponente, DateTime? fecha) |
58 { | |
59 Usuario = IdentityContext.GetUserName(); | |
60 Ponente = ponente; | |
61 Fecha = fecha; | |
62 AddTracks(new Track(Accion.Publicar)); | |
63 } | |
39 | 64 |
54 | 65 public void Realizado(DateTime fecha, string sintesis, IList<string> enlaces) |
66 { | |
67 Usuario = IdentityContext.GetUserName(); | |
68 Fecha = fecha; | |
69 Sintesis = sintesis; | |
70 _enlaces = enlaces; | |
71 } | |
39 | 72 |
54 | 73 public void Realizado(string sintesis) |
74 { | |
75 Usuario = IdentityContext.GetUserName(); | |
76 Sintesis = sintesis; | |
77 AddTracks(new Track(Accion.Realizar)); | |
78 } | |
41
07c47ea2ac00
movimos el AddTrack a cada acción dentro de Evento
nelopauselli
parents:
39
diff
changeset
|
79 |
54 | 80 private void AddTracks(Track track) |
81 { | |
82 _tracks.Add(track); | |
83 } | |
38
3c5657d99727
Cambio de setters de las propiedades a private
nelo@MTEySS.neluz.int
parents:
24
diff
changeset
|
84 } |
39 | 85 |
54 | 86 public class Track |
87 { | |
88 public Track(string accion) | |
89 { | |
90 Accion = accion; | |
91 } | |
39 | 92 |
54 | 93 public string Accion { get; private set; } |
94 } | |
95 | |
96 public class Accion | |
97 { | |
98 public const string Publicar = "Publicar"; | |
99 public const string Modificar = "Modificar"; | |
100 public const string CambiarTitulo = "CambiarTitulo"; | |
101 public const string Realizar = "Realizar"; | |
102 } | |
0
3f7dbb633b71
Test sobre la publicación de Eventos al registrarlos en la Agenda
nelopauselli
parents:
diff
changeset
|
103 } |