diff Agendas/trunk/src/Agendas.Domain/EventoPropuestoState.cs @ 140:3639803112c6

Refactoring de la relaciĆ³n entre Evento y Estado
author nelopauselli
date Fri, 29 Jul 2011 16:30:53 -0300
parents 6f1041301797
children 3ca9fb66d397
line wrap: on
line diff
--- a/Agendas/trunk/src/Agendas.Domain/EventoPropuestoState.cs	Thu Jul 28 10:16:09 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/EventoPropuestoState.cs	Fri Jul 29 16:30:53 2011 -0300
@@ -3,45 +3,43 @@
 
 namespace AltNetHispano.Agendas.Domain
 {
-  public class EventoPropuestoState : EventoState
-  {
-    private EventoPropuestoState()
-    {
-    }
+	public class EventoPropuestoState : EventoState
+	{
+		protected EventoPropuestoState()
+		{
+		}
 
-    private static readonly EventoState _instance = new EventoPropuestoState();
-    public static EventoState GetInstance()
-    {
-      return _instance;
-    }
-
-    private const string Descripcion = "Propuesto";
+		private static readonly EventoState _instance = new EventoPropuestoState();
+		public static EventoState GetInstance()
+		{
+			return _instance;
+		}
 
-    public override void Promover(Evento evento, Accion accion)
-    {
-        switch (accion)
-        {
-            case Accion.Agendar:
-                evento.SetEstado(EventoAgendadoState.GetInstance());
-                evento.AddTrack(new Track(evento, Accion.Agendar));
-                break;
-            case Accion.Descartar:
-                evento.SetEstado(EventoDescartadoState.GetInstance());
-                evento.AddTrack(new Track(evento, Accion.Descartar));
-                break;
-            default:
-                throw new AccionNoSoportadaException(this.GetType(), accion);
-        }
-    }
+		public override void Promover(Evento evento, Accion accion)
+		{
+			switch (accion)
+			{
+				case Accion.Agendar:
+					evento.Estado = EventoAgendadoState.GetInstance();
+					evento.AddTrack(new Track(evento, Accion.Agendar));
+					break;
+				case Accion.Descartar:
+					evento.Estado = EventoDescartadoState.GetInstance();
+					evento.AddTrack(new Track(evento, Accion.Descartar));
+					break;
+				default:
+					throw new AccionNoSoportadaException(this.GetType(), accion);
+			}
+		}
 
-    public override string GetDescripcion()
-    {
-      return Descripcion;
-    }
+		public override string Descripcion
+		{
+			get { return "Propuesto"; }
+		}
 
-  	public override bool PuedePromover(Accion accion)
-  	{
-  		return accion == Accion.Agendar || accion == Accion.Descartar;
-  	}
-  }
+		public override bool PuedePromover(Accion accion)
+		{
+			return accion == Accion.Agendar || accion == Accion.Descartar;
+		}
+	}
 }
\ No newline at end of file