Mercurial > altnet-hispano
comparison Agendas/trunk/src/Agendas.Domain/EventoConfirmadoState.cs @ 140:3639803112c6
Refactoring de la relación entre Evento y Estado
author | nelopauselli |
---|---|
date | Fri, 29 Jul 2011 16:30:53 -0300 |
parents | 53bcd338542b |
children |
comparison
equal
deleted
inserted
replaced
139:18e5a78186e4 | 140:3639803112c6 |
---|---|
1 using System; | 1 using System; |
2 using AltNetHispano.Agendas.Domain.Exceptions; | 2 using AltNetHispano.Agendas.Domain.Exceptions; |
3 | 3 |
4 namespace AltNetHispano.Agendas.Domain | 4 namespace AltNetHispano.Agendas.Domain |
5 { | 5 { |
6 public class EventoConfirmadoState : EventoState | 6 public class EventoConfirmadoState : EventoState |
7 { | 7 { |
8 private EventoConfirmadoState() | 8 protected EventoConfirmadoState() |
9 { | 9 { |
10 } | 10 } |
11 | 11 |
12 private static readonly EventoState _instance = new EventoConfirmadoState(); | 12 private static readonly EventoState _instance = new EventoConfirmadoState(); |
13 public static EventoState GetInstance() | 13 public static EventoState GetInstance() |
14 { | 14 { |
15 return _instance; | 15 return _instance; |
16 } | 16 } |
17 | 17 |
18 private const string Descripcion = "Confirmado"; | 18 public override void Promover(Evento evento, Accion accion) |
19 { | |
20 switch (accion) | |
21 { | |
22 case Accion.Publicar: | |
23 evento.Estado = EventoPublicadoState.GetInstance(); | |
24 evento.AddTrack(new Track(evento, Accion.Publicar)); | |
25 break; | |
26 default: | |
27 throw new AccionNoSoportadaException(this.GetType(), accion); | |
28 } | |
29 } | |
19 | 30 |
20 public override void Promover(Evento evento, Accion accion) | 31 public override string Descripcion |
21 { | 32 { |
22 switch (accion) | 33 get { return "Confirmado"; } |
23 { | 34 } |
24 case Accion.Publicar: | |
25 evento.SetEstado(EventoPublicadoState.GetInstance()); | |
26 evento.AddTrack(new Track(evento, Accion.Publicar)); | |
27 break; | |
28 default: | |
29 throw new AccionNoSoportadaException(this.GetType(), accion); | |
30 } | |
31 } | |
32 | 35 |
33 public override string GetDescripcion() | 36 public override bool PuedePromover(Accion accion) |
34 { | 37 { |
35 return Descripcion; | 38 return accion == Accion.Publicar; |
36 } | 39 } |
37 | 40 } |
38 public override bool PuedePromover(Accion accion) | |
39 { | |
40 return accion == Accion.Publicar; | |
41 } | |
42 } | |
43 } | 41 } |