public void PrepareActorState(ActorId actorId, IDictionary <string, object> stateValues) { MockedInternalActorState actorState; if (_trackedActors.ContainsKey(actorId)) { actorState = _trackedActors[actorId]; } else { actorState = new MockedInternalActorState(); _trackedActors.Add(actorId, actorState); } foreach (var stateValue in stateValues) { if (actorState.State.ContainsKey(stateValue.Key)) { actorState.State[stateValue.Key] = stateValue.Value; } else { actorState.State.Add(stateValue.Key, stateValue.Value); } } }
public Task SaveStateAsync(ActorId actorId, IReadOnlyCollection <ActorStateChange> stateChanges, CancellationToken cancellationToken = new CancellationToken()) { ActionsPerformed.Add(nameof(SaveStateAsync)); MockedInternalActorState mockedInternalActorState; if (_trackedActors.ContainsKey(actorId)) { mockedInternalActorState = _trackedActors[actorId]; } else { mockedInternalActorState = new MockedInternalActorState(); _trackedActors.Add(actorId, mockedInternalActorState); } foreach (var actorStateChange in stateChanges) { if (actorStateChange.ChangeKind == StateChangeKind.Add) { mockedInternalActorState.State.Add(actorStateChange.StateName, actorStateChange.Value); } else if (actorStateChange.ChangeKind == StateChangeKind.Update) { mockedInternalActorState.State[actorStateChange.StateName] = actorStateChange.Value; } else if (actorStateChange.ChangeKind == StateChangeKind.Remove) { mockedInternalActorState.State.Remove(actorStateChange.StateName); } } return(Task.FromResult(true)); }
public Task SaveReminderAsync(ActorId actorId, IActorReminder reminder, CancellationToken cancellationToken = new CancellationToken()) { ActionsPerformed.Add(nameof(SaveReminderAsync)); if (_trackedActors.ContainsKey(actorId)) { var actorState = _trackedActors[actorId]; actorState.Reminders.Add(reminder.Name, reminder); } else { var actorState = new MockedInternalActorState(); actorState.Reminders.Add(reminder.Name, reminder); _trackedActors.Add(actorId, actorState); } return(Task.FromResult(true)); }