Ejemplo n.º 1
0
 protected virtual EstadoTurno MoverEstado(EventoTurno eventoTurno, Persona persona)
 {
     var estado = ProximoEstado(eventoTurno);
     var fecha = DateTime.Now;
     var cambioEstado = new CambioEstadoTurno(estado, eventoTurno) { Fecha = fecha, Responsable = persona };
     CambiosDeEstado.Add(cambioEstado);
     Estado = estado;
     FechaEstado = fecha;
     return estado;
 }
Ejemplo n.º 2
0
 protected virtual EstadoTurno ProximoEstado(EventoTurno eventoTurno)
 {
     var transicion = new CambioEstadoTurno(Estado, eventoTurno);
     EstadoTurno proximoEstado;
     if (!Transiciones.TryGetValue(transicion, out proximoEstado))
         throw new Exception("Cambio de Estado inválido: " + Estado + " -> " + eventoTurno);
     return proximoEstado;
 }
Ejemplo n.º 3
0
 public virtual bool PuedeAplicar(EventoTurno eventoTurno)
 {
     var transicion = new CambioEstadoTurno(Estado, eventoTurno);
     return Transiciones.ContainsKey(transicion);
 }