diff Agendas/trunk/src/Agendas.Domain/EventoAgendadoState.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/EventoAgendadoState.cs	Thu Jul 28 10:16:09 2011 -0300
+++ b/Agendas/trunk/src/Agendas.Domain/EventoAgendadoState.cs	Fri Jul 29 16:30:53 2011 -0300
@@ -1,47 +1,44 @@
-using System;
-using AltNetHispano.Agendas.Domain.Exceptions;
+using AltNetHispano.Agendas.Domain.Exceptions;
 
 namespace AltNetHispano.Agendas.Domain
 {
-  public class EventoAgendadoState : EventoState
-  {
-    private EventoAgendadoState()
-    {
-    }
+	public class EventoAgendadoState : EventoState
+	{
+		protected EventoAgendadoState()
+		{
+		}
 
-    private static readonly EventoState _instance = new EventoAgendadoState();
-    public static EventoState GetInstance()
-    {
-      return _instance;
-    }
-
-    private const string Descripcion = "Agendado";
+		private static readonly EventoState _instance = new EventoAgendadoState();
+		public static EventoState GetInstance()
+		{
+			return _instance;
+		}
 
-    public override void Promover(Evento evento, Accion accion)
-    {
-        switch (accion)
-        {
-            case Accion.Confirmar:
-                evento.SetEstado(EventoConfirmadoState.GetInstance());
-                evento.AddTrack(new Track(evento, Accion.Confirmar));
-                break;
-            case Accion.Cancelar:
-                evento.SetEstado(EventoCanceladoState.GetInstance());
-                evento.AddTrack(new Track(evento, Accion.Cancelar));
-                break;
-            default:
-                throw new AccionNoSoportadaException(this.GetType(), accion);
-        }
-    }
+		public override void Promover(Evento evento, Accion accion)
+		{
+			switch (accion)
+			{
+				case Accion.Confirmar:
+					evento.Estado=EventoConfirmadoState.GetInstance();
+					evento.AddTrack(new Track(evento, Accion.Confirmar));
+					break;
+				case Accion.Cancelar:
+					evento.Estado = EventoCanceladoState.GetInstance();
+					evento.AddTrack(new Track(evento, Accion.Cancelar));
+					break;
+				default:
+					throw new AccionNoSoportadaException(this.GetType(), accion);
+			}
+		}
 
-    public override string GetDescripcion()
-    {
-      return Descripcion;
-    }
+		public override string Descripcion
+		{
+			get { return "Agendado"; }
+		}
 
-  	public override bool PuedePromover(Accion accion)
-  	{
-		return accion == Accion.Confirmar || accion == Accion.Cancelar;
-  	}
-  }
+		public override bool PuedePromover(Accion accion)
+		{
+			return accion == Accion.Confirmar || accion == Accion.Cancelar;
+		}
+	}
 }
\ No newline at end of file