예제 #1
0
        private void PersistSagaInstance(IAccessibleSaga saga)
        {
            Type   persisterType = reflection.GetGenericTypeOf(typeof(ISagaPersister <>), saga);
            object persister     = serviceLocator.Resolve(persisterType);

            if (saga.IsCompleted)
            {
                reflection.InvokeSagaPersisterComplete(persister, saga);
            }
            else
            {
                reflection.InvokeSagaPersisterSave(persister, saga);
            }
        }