public async Task Handle(DeactivateNeuron message, CancellationToken token = default(CancellationToken)) { AssertionConcern.AssertArgumentNotNull(message, nameof(message)); // validate var validationResult = await this.validationClient.UpdateNeuron( this.settingsService.IdentityAccessOutBaseUrl + "/", message.Id, message.UserId, token); if (!validationResult.HasErrors) { var txn = await Transaction.Begin(this.eventStore, this.inMemoryEventStore, message.Id, validationResult.UserNeuronId, message.ExpectedVersion); await txn.InvokeAdapter( typeof(NeuronCreated).Assembly, async (ev) => await this.neuronAdapter.DeactivateNeuron( message.Id, validationResult.UserNeuronId, ev )); await txn.Commit(); } }
public async Task Handle(DeactivateNeuron message, CancellationToken token = default(CancellationToken)) { AssertionConcern.AssertArgumentNotNull(message, nameof(message)); var eventSource = this.eventSourceFactory.Create( this.settingsService.EventSourcingInBaseUrl + "/", this.settingsService.EventSourcingOutBaseUrl + "/", message.AuthorId ); Neuron neuron = await eventSource.Session.Get <Neuron>(message.Id, nameof(neuron), message.ExpectedVersion, token); neuron.Deactivate(); await eventSource.Session.Commit(token); }