public static Saga <T> OnCompleteDo <T>(this Saga <T> saga, Action <T> action) where T : ISagaState { action.MustNotBeNull(); saga.OnComplete = action; return(saga); }
/// <summary> /// Sets a value in saga data. It also checks to see if the saga has been completed /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="V"></typeparam> /// <param name="saga"></param> /// <param name="key"></param> /// <param name="value"></param> public static void Set <T, V>(this Saga <T> saga, string key, V value) where T : ASagaState { saga.Data.RawData[key] = value; CheckIfCompleted(saga); }
public static Saga <T> SagaCompletesWhen <T>(this Saga <T> saga, Func <T, bool> when) where T : ASagaState { when.MustNotBeNull(); saga.Completion = when; return(saga); }