Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Domain/EventoAgendadoState.cs @ 242:5cc1681d3789
Combinar
author | juanjose.montesdeocaarbos |
---|---|
date | Wed, 05 Oct 2011 07:57:21 -0300 |
parents | 3ca9fb66d397 |
children |
line wrap: on
line source
using AltNetHispano.Agendas.Domain.Exceptions; namespace AltNetHispano.Agendas.Domain { public class EventoAgendadoState : EventoState { protected EventoAgendadoState() { } 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.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 Descripcion { get { return "Agendado"; } } public override bool PuedePromover(Accion accion) { return accion == Accion.Confirmar || accion == Accion.Cancelar || accion==Accion.Modificar; } } }