public static void RegisterSaga <TSaga, TData>(this IUnityContainer container, Func <object, ISagaInstance <TSaga, TData> > factory, ISagaDescriptor descriptor, Func <ISnapshotsPersistencePolicy> snapShotsPolicy = null) where TSaga : Saga <TData> where TData : class, ISagaState { SagaConfiguration.Instance <TSaga, TData>(factory, descriptor) .Register(container); }
public static void RegisterSaga <TSaga, TData, TFactory, TStartMessage>(this IUnityContainer container, ISagaDescriptor descriptor) where TSaga : Saga <TData> where TData : class, ISagaState where TFactory : ISagaFactory <ISagaInstance <TSaga, TData>, SagaDataAggregate <TData> >, ISagaFactory <ISagaInstance <TSaga, TData>, TStartMessage>, new() { SagaConfiguration.Instance <TSaga, TData, TFactory, TStartMessage>(descriptor) .Register(container); }
public static void RegisterStateSaga <TSaga, TState, TFactory, TStartMessage>(this IUnityContainer container, ISagaDescriptor descriptor) where TFactory : ISagaFactory <TSaga, TState>, ISagaFactory <TSaga, TStartMessage>, new() where TSaga : class, ISagaInstance where TState : AggregateBase { container.Register(SagaConfiguration.State <TSaga, TState, TFactory, TStartMessage>(descriptor)); }