Mercurial > altnet-hispano
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