Mercurial > altnet-hispano
comparison 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 |
comparison
equal
deleted
inserted
replaced
56:65bbcdd5d357 | 57:3d9e6d56d903 |
---|---|
6 public class Evento : Identificable | 6 public class Evento : Identificable |
7 { | 7 { |
8 private readonly IList<Track> _tracks; | 8 private readonly IList<Track> _tracks; |
9 private IList<string> _enlaces; | 9 private IList<string> _enlaces; |
10 | 10 |
11 public Evento(string titulo) | 11 public static Evento Proponer(string titulo, Ponente ponente) |
12 { | 12 { |
13 Titulo = titulo; | 13 var evento = new Evento { Titulo = titulo, Ponente = ponente }; |
14 evento.AddTracks(new Track(Accion.Proponer)); | |
14 | 15 |
16 return evento; | |
17 } | |
18 | |
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 { | |
15 _enlaces = new List<string>(); | 29 _enlaces = new List<string>(); |
16 _tracks = new List<Track>(); | 30 _tracks = new List<Track>(); |
17 } | 31 } |
18 | 32 |
19 public string Titulo { get; private set; } | 33 public string Titulo { get; private set; } |
20 public DateTime? Fecha { get; private set; } | 34 public DateTime? Fecha { get; private set; } |
21 public string Sintesis { get; private set; } | 35 public string Sintesis { get; private set; } |
22 public Ponente Ponente { get; private set; } | 36 public Ponente Ponente { get; private set; } |
23 protected string Usuario { get; private set; } | |
24 | 37 |
25 public IEnumerable<string> Enlaces | 38 public IEnumerable<string> Enlaces |
26 { | 39 { |
27 get { return _enlaces; } | 40 get { return _enlaces; } |
28 } | 41 } |
32 get { return _tracks; } | 45 get { return _tracks; } |
33 } | 46 } |
34 | 47 |
35 public void Actualizar(Ponente ponente, DateTime? fecha) | 48 public void Actualizar(Ponente ponente, DateTime? fecha) |
36 { | 49 { |
37 Usuario = IdentityContext.GetUserName(); | |
38 Ponente = ponente; | 50 Ponente = ponente; |
39 Fecha = fecha; | 51 Fecha = fecha; |
40 | 52 |
41 AddTracks(new Track(Accion.Modificar)); | 53 AddTracks(new Track(Accion.Modificar)); |
42 } | 54 } |
43 | 55 |
44 public void Actualizar(Ponente ponente) | |
45 { | |
46 Usuario = IdentityContext.GetUserName(); | |
47 Ponente = ponente; | |
48 } | |
49 | |
50 public void CambiarTitulo(string titulo) | 56 public void CambiarTitulo(string titulo) |
51 { | 57 { |
52 Usuario = IdentityContext.GetUserName(); | |
53 Titulo = titulo; | 58 Titulo = titulo; |
54 AddTracks(new Track(Accion.CambiarTitulo)); | 59 AddTracks(new Track(Accion.CambiarTitulo)); |
55 } | 60 } |
56 | 61 |
57 public void Publicar(Ponente ponente, DateTime? fecha) | 62 public void Publicar(Ponente ponente, DateTime? fecha) |
58 { | 63 { |
59 Usuario = IdentityContext.GetUserName(); | |
60 Ponente = ponente; | 64 Ponente = ponente; |
61 Fecha = fecha; | 65 Fecha = fecha; |
62 AddTracks(new Track(Accion.Publicar)); | 66 AddTracks(new Track(Accion.Publicar)); |
63 } | 67 } |
64 | 68 |
65 public void Realizado(DateTime fecha, string sintesis, IList<string> enlaces) | 69 public void Realizado(DateTime fecha, string sintesis, IList<string> enlaces) |
66 { | 70 { |
67 Usuario = IdentityContext.GetUserName(); | |
68 Fecha = fecha; | 71 Fecha = fecha; |
69 Sintesis = sintesis; | 72 Sintesis = sintesis; |
70 _enlaces = enlaces; | 73 _enlaces = enlaces; |
71 } | 74 } |
72 | 75 |
73 public void Realizado(string sintesis) | 76 public void Realizado(string sintesis) |
74 { | 77 { |
75 Usuario = IdentityContext.GetUserName(); | |
76 Sintesis = sintesis; | 78 Sintesis = sintesis; |
77 AddTracks(new Track(Accion.Realizar)); | 79 AddTracks(new Track(Accion.Realizar)); |
78 } | 80 } |
79 | 81 |
80 private void AddTracks(Track track) | 82 private void AddTracks(Track track) |
81 { | 83 { |
82 _tracks.Add(track); | 84 _tracks.Add(track); |
83 } | 85 } |
84 } | 86 } |
85 | |
86 public class Track | |
87 { | |
88 public Track(string accion) | |
89 { | |
90 Accion = accion; | |
91 } | |
92 | |
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 } | |
103 } | 87 } |