public async Task Consume(ConsumeContext <ActivateUser> context) { var message = context.Message; try { var user = await _userService.ActivateAsync(message.ActivationToken); var @event = new UserActivated { Id = user.Id, Username = user.Username }; await _bus.Publish(@event); } catch (Exception ex) { var domainException = ex as UserServiceException; var failedEvent = new ActivateUserFailed { Username = domainException?.Username, Id = domainException?.UserId, ActivationToken = message.ActivationToken }; await _bus.Publish(failedEvent); throw; } }
public void EventApply_Should_Arrive_To_The_LastState() { //---------Load & Replay Envents var userRegistered = new UserRegistered(1, "Admin", "John", "Doe"); var userActivated = new UserActivated(1); var user = new User(); user.Apply(userRegistered); user.Apply(userActivated); user.UserName.Should().Be("Admin"); user.FirstName.Should().Be("John"); user.LastName.Should().Be("Doe"); user.IsActive.Should().BeTrue(); }
public void Handle(UserActivated message) { _service.UpdateMember(message.UserId); }
private void When(UserActivated @event) { this.IsActive = true; }
private void HandleEvent(UserActivated @event) { this.IsActive = true; }
public void Handle(UserActivated @event) { this._database.Connection.Execute( $"UPDATE [EsSharpProjectionDatabase].[dbo].[Users] SET IsActive = 1 WHERE Id = '{@event.AggregateId}'"); }