protected JourneyInstance <TState> CreateJourneyInstance <TState>( string journeyName, Action <KeysBuilder> configureKeys, TState state, IReadOnlyDictionary <object, object> properties = null, string uniqueKey = null) { var keysBuilder = new KeysBuilder(); configureKeys(keysBuilder); if (uniqueKey != null) { keysBuilder.With("ffiid", uniqueKey); } var keys = keysBuilder.Build(); var instanceId = new JourneyInstanceId(journeyName, keys); var instanceStateProvider = Factory.Services.GetRequiredService <IUserInstanceStateProvider>(); return((JourneyInstance <TState>)instanceStateProvider.CreateInstance( journeyName, instanceId, typeof(TState), state, properties)); }
protected JourneyInstance <TState> GetJourneyInstance <TState>( string journeyName, Action <KeysBuilder> configureKeys, string uniqueKey = null) { var keysBuilder = new KeysBuilder(); configureKeys(keysBuilder); if (uniqueKey != null) { keysBuilder.With("ffiid", uniqueKey); } var keys = keysBuilder.Build(); var instanceId = new JourneyInstanceId(journeyName, keys); var instanceStateProvider = Factory.Services.GetRequiredService <IUserInstanceStateProvider>(); return((JourneyInstance <TState>)instanceStateProvider.GetInstance(instanceId)); }
protected JourneyInstance <TState> GetJourneyInstance <TState>(JourneyInstanceId instanceId) { var instanceStateProvider = Factory.Services.GetRequiredService <IUserInstanceStateProvider>(); return((JourneyInstance <TState>)instanceStateProvider.GetInstance(instanceId)); }