public void Constructor_GiveValidArguments_PropertiesAreSet()
        {
            var @event = new UserDisabledEvent("email-address", "first-name", "last-name");

            Assert.Equal("email-address", @event.EmailAddress);
            Assert.Equal("first-name", @event.FirstName);
            Assert.Equal("last-name", @event.LastName);
        }
예제 #2
0
        private async Task SendUserDisabledEventAsync(Domain.AggregatesModel.UserAggregate.User user)
        {
            var @event = new UserDisabledEvent {
                UserId = user.Id, DisabledTime = user.DisabledTime
            };

            _messageSession = (IMessageSession)_serviceProvider.GetService(typeof(IMessageSession));
            await _messageSession.Publish(@event);

            _logger.LogInformation("----- Published UserDisabledEvent: {IntegrationEventId} from {AppName} - ({@IntegrationEvent})", @event.Id, Program.AppName, @event);
        }
        public async Task Handle(DisableUserCommand command)
        {
            try
            {
                var user = await Repository.GetByKeyAsync<Domain.Models.User>(command.UserId);
                user.Disable();

                await Repository.SaveChangesAsync();

                var @event = new UserDisabledEvent(command.UserId);
                EventBus.RaiseEvent(@event);
            }
            catch
            {
                throw;
            }
        }
예제 #4
0
 private void Apply(UserDisabledEvent @event)
 {
     IsActive = @event.IsActive;
 }