Exemple #1
0
 /// <summary>
 ///   Nello stato <see cref="InRientro" /> l'evento <see cref="Revoca" /> produce la
 ///   transizione nello stato <see cref="Libero" />.
 /// </summary>
 /// <param name="revoca">Il visitor</param>
 /// <returns>Lo stato <see cref="Libero" /></returns>
 public override IStatoMezzo AcceptVisitor(Revoca revoca)
 {
     return(new Libero(revoca.Istante));
 }
Exemple #2
0
 /// <summary>
 ///   Accetta il visitor e scatena l'implementazione di default che consiste nel sollevare
 ///   una <see cref="WorkflowException" />. Gli stati concreti, implementati nelle classi
 ///   derivate, effettuano l'override dei metodi corrispondenti a transizioni di stato
 ///   ammesse, restituendo lo stato corretto a fronte dell'evento (visitor) di ingresso.
 /// </summary>
 /// <param name="revoca">Il visitor accettato</param>
 /// <returns>Niente, poiché solleva un'eccezione</returns>
 public virtual IStatoMezzo AcceptVisitor(Revoca revoca)
 {
     throw new WorkflowException($"Impossibile transire in seguito all'evento {nameof(revoca)}");
 }