Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Domain/EventoAgendadoState.cs @ 146:3ca9fb66d397
Habilitando la modificación de eventos propuestos o agendados
author | Nelo@Guinea.neluz.int |
---|---|
date | Mon, 01 Aug 2011 11:42:50 -0300 |
parents | 3639803112c6 |
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; } } }