Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Domain/EventoPropuestoState.cs @ 101:9bfdd5bf3ad2
Manejo de estados de los Eventos mediante state pattern (primer version)
author | jorge.rowies |
---|---|
date | Sun, 05 Jun 2011 11:10:32 -0300 |
parents | |
children | 23325dddddcc |
line wrap: on
line source
using AltNetHispano.Agendas.Domain.Exceptions; namespace AltNetHispano.Agendas.Domain { public class EventoPropuestoState : EventoState { private readonly Evento _evento; public EventoPropuestoState(Evento evento) { _evento = evento; _evento.AddTrack(new Track(_evento, Accion.Proponer)); } public override void Promover(Accion accion) { switch (accion) { case Accion.Agendar: _evento.Estado = new EventoAgendadoState(_evento); break; default: throw new AccionNoSoportadaException(this.GetType(), accion); } } } }