Mercurial > altnet-hispano
view Agendas/trunk/src/Agendas.Domain/EventoCanceladoState.cs @ 148:c99636fbdc5f
Ticket 155: Agregar Nro de Orden, Tipo y Duración real en la pantalla de Histórico, similar a como es la página actual en altnethispano.org.
Pendiente: Falta que tome la duración cargada.
author | juanjose.montesdeocaarbos |
---|---|
date | Tue, 02 Aug 2011 23:05:50 -0300 |
parents | 3639803112c6 |
children |
line wrap: on
line source
using System; using AltNetHispano.Agendas.Domain.Exceptions; namespace AltNetHispano.Agendas.Domain { public class EventoCanceladoState : EventoState { protected EventoCanceladoState() { } private static readonly EventoState _instance = new EventoCanceladoState(); public static EventoState GetInstance() { return _instance; } public override void Promover(Evento evento, Accion accion) { switch (accion) { case Accion.Descartar: evento.Estado = EventoDescartadoState.GetInstance(); evento.AddTrack(new Track(evento, Accion.Descartar)); break; case Accion.ReAgendar: evento.Estado = EventoAgendadoState.GetInstance(); evento.AddTrack(new Track(evento, Accion.ReAgendar)); break; case Accion.ReProponer: evento.Estado = EventoPropuestoState.GetInstance(); evento.AddTrack(new Track(evento, Accion.ReProponer)); break; default: throw new AccionNoSoportadaException(this.GetType(), accion); } } public override string Descripcion { get { return "Cancelado"; } } public override bool PuedePromover(Accion accion) { return accion == Accion.Descartar || accion == Accion.ReAgendar || accion == Accion.ReProponer; } } }