view Agendas/trunk/src/Agendas.Domain/EventoAgendadoState.cs @ 109:6bd9be78caa0

Merge
author Nelo@Kenia.neluz.int
date Tue, 07 Jun 2011 23:21:07 -0300
parents c5034884c7d7
children 53bcd338542b
line wrap: on
line source

using AltNetHispano.Agendas.Domain.Exceptions;

namespace AltNetHispano.Agendas.Domain
{
  public class EventoAgendadoState : EventoState
  {
    private EventoAgendadoState()
    {
    }

    private static readonly EventoState _instance = new EventoAgendadoState();
    public static EventoState GetInstance()
    {
      return _instance;
    }

    private const string Descripcion = "Agendado";

    public override void Promover(Evento evento, Accion accion)
    {
      switch (accion)
      {
        case Accion.Confirmar:
          evento.SetEstado(EventoConfirmadoState.GetInstance());
          evento.AddTrack(new Track(evento, Accion.Confirmar));
          break;
        default:
          throw new AccionNoSoportadaException(this.GetType(), accion);
      }
    }

    public override string GetDescripcion()
    {
      return Descripcion;
    }
  }
}