Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Domain/EventoCanceladoState.cs @ 202:a731086c0b28
Se soluciona ticket 174.
Además se agrega detalle del campo Hora y Duración cuando son obligatorios en Resources.
author | alabra |
---|---|
date | Sat, 20 Aug 2011 18:40:36 -0400 |
parents | 3639803112c6 |
children |
rev | line source |
---|---|
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
1 using System; |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
2 using AltNetHispano.Agendas.Domain.Exceptions; |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
diff
changeset
|
3 |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
diff
changeset
|
4 namespace AltNetHispano.Agendas.Domain |
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
diff
changeset
|
5 { |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
6 public class EventoCanceladoState : EventoState |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
7 { |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
8 protected EventoCanceladoState() |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
9 { |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
10 } |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
diff
changeset
|
11 |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
12 private static readonly EventoState _instance = new EventoCanceladoState(); |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
diff
changeset
|
13 |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
14 public static EventoState GetInstance() |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
15 { |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
16 return _instance; |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
17 } |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
diff
changeset
|
18 |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
19 public override void Promover(Evento evento, Accion accion) |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
20 { |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
21 switch (accion) |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
22 { |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
23 case Accion.Descartar: |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
24 evento.Estado = EventoDescartadoState.GetInstance(); |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
25 evento.AddTrack(new Track(evento, Accion.Descartar)); |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
26 break; |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
27 case Accion.ReAgendar: |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
28 evento.Estado = EventoAgendadoState.GetInstance(); |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
29 evento.AddTrack(new Track(evento, Accion.ReAgendar)); |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
30 break; |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
31 case Accion.ReProponer: |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
32 evento.Estado = EventoPropuestoState.GetInstance(); |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
33 evento.AddTrack(new Track(evento, Accion.ReProponer)); |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
34 break; |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
35 default: |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
36 throw new AccionNoSoportadaException(this.GetType(), accion); |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
37 } |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
38 } |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
diff
changeset
|
39 |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
40 public override string Descripcion |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
41 { |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
42 get { return "Cancelado"; } |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
43 } |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
diff
changeset
|
44 |
140
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
45 public override bool PuedePromover(Accion accion) |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
46 { |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
47 return accion == Accion.Descartar || accion == Accion.ReAgendar || accion == Accion.ReProponer; |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
48 } |
3639803112c6
Refactoring de la relación entre Evento y Estado
nelopauselli
parents:
133
diff
changeset
|
49 } |
133
6f1041301797
Se agregan los estados Cancelado y Descartado con las acciones Cancelar, Reagendar, Descartar, Reproponer, según ticket 146.
alabra
parents:
diff
changeset
|
50 } |