Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Domain/EventoPropuestoState.cs @ 133:6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
Falta solucionar problema con flujo, ver más información en el ticket de assembla.
http://www.assembla.com/spaces/altnet-hispano/tickets/146-implementar-estado-descartar-y-cancelar-de-eventos
author | alabra |
---|---|
date | Sun, 10 Jul 2011 23:59:19 -0400 |
parents | 53bcd338542b |
children | 3639803112c6 |
line wrap: on
line source
using System; using AltNetHispano.Agendas.Domain.Exceptions; namespace AltNetHispano.Agendas.Domain { public class EventoPropuestoState : EventoState { private EventoPropuestoState() { } private static readonly EventoState _instance = new EventoPropuestoState(); public static EventoState GetInstance() { return _instance; } private const string Descripcion = "Propuesto"; public override void Promover(Evento evento, Accion accion) { switch (accion) { case Accion.Agendar: evento.SetEstado(EventoAgendadoState.GetInstance()); evento.AddTrack(new Track(evento, Accion.Agendar)); break; case Accion.Descartar: evento.SetEstado(EventoDescartadoState.GetInstance()); evento.AddTrack(new Track(evento, Accion.Descartar)); break; default: throw new AccionNoSoportadaException(this.GetType(), accion); } } public override string GetDescripcion() { return Descripcion; } public override bool PuedePromover(Accion accion) { return accion == Accion.Agendar || accion == Accion.Descartar; } } }