view Agendas/trunk/src/Agendas.Domain/EventoNullState.cs @ 103:23325dddddcc

Persistencia del estado de los eventos
author jorge.rowies
date Sun, 05 Jun 2011 13:06:23 -0300
parents 9bfdd5bf3ad2
children c5034884c7d7
line wrap: on
line source

using AltNetHispano.Agendas.Domain.Exceptions;

namespace AltNetHispano.Agendas.Domain
{
  public class EventoNullState : EventoState
  {
    public override void Promover(Evento evento, Accion accion)
    {
      switch (accion)
      {
        case Accion.Proponer:
          evento.SetEstado(new EventoPropuestoState());
          evento.AddTrack(new Track(evento, Accion.Proponer));
          break;
        case Accion.Agendar:
          evento.SetEstado(new EventoAgendadoState());
          evento.AddTrack(new Track(evento, Accion.Agendar));
          break;
        default:
          throw new AccionNoSoportadaException(this.GetType(), accion);
      }
    }

    public override string GetDescripcion()
    {
      return "NullState";
    }
  }
}