public void Apply(UserNameChangedEvent @event) { Version++; UserName = @event.UserName; _Properties["UserName"] = UserName; }
public void PossibleToLoadFromEvents() { var user = AggregateCreator.CreateAggregateRoot <User>(); var created = new UserCreatedEvent() { UserId = "3333", Email = "*****@*****.**", FirstName = "John", LastName = "Melinda" }; var changed = new UserNameChangedEvent() { UserId = "3333", FirstName = "John Jr.", LastName = "Melinda III" }; user.LoadFromEvents(new List <IEvent> { created, changed }); Assert.AreEqual(user.Id, created.UserId); Assert.AreEqual(user.Version, 1); Assert.AreEqual(GetPrivateValue <String>(user, "_firstName"), changed.FirstName); Assert.AreEqual(GetPrivateValue <String>(user, "_lastName"), changed.LastName); Assert.AreEqual(GetPrivateValue <String>(user, "_email"), created.Email); }
public void ApplyChangeUserNameEvent() { var user = new User(Guid.NewGuid()); var @event = new UserNameChangedEvent(user.Id, 0, "bill"); user.ApplyEvents(new Event[] { @event }); user.UserName.Should().Be("bill"); }
public void ChangeUserName(string newUserName) { if (!ValidateUserName(newUserName)) { throw new ArgumentException("Username is not valid"); } var @event = new UserNameChangedEvent(Id, Version, newUserName); Apply(@event); PublishEvent(@event); }
public async Task <IActionResult> UpdateUserName([FromBody] UpdateUserNameRequest request) { var user = await _userManager.GetUserAsync(User); if (user == null) { return(NotFound()); } var result = await _userManager.SetUserNameAsync(user, request.UserName); if (!result.Succeeded) { return(BadRequest(result.Errors.ToValidationProblemDetails())); } var @event = new UserNameChangedEvent(SingleUserInfo.FromUser(user)); await _eventService.Publish(@event); return(Ok()); }
private void Handle(UserNameChangedEvent e) { Name = e.NewName; }
private void On(UserNameChangedEvent created) { _firstName = created.FirstName; _lastName = created.LastName; }