public void ChangeName(string userId, NameData nameData) { Stage.ActorOf <IUser>(_addressFactory.From(userId)) .AndThenTo(user => user.WithName(new Name(nameData.Given, nameData.Family))) .OtherwiseConsume(noUser => Completes.With(Response.Of(ResponseStatus.NotFound, UserLocation(userId)))) .AndThenConsume(userState => { _repository.Save(userState); Completes.With(Response.Of(ResponseStatus.Ok, JsonSerialization.Serialized(UserData.From(userState)))); }); }
public UserData(string id, NameData nameData, ContactData contactData) { Id = id; NameData = nameData; ContactData = contactData; }
private UserData(NameData nameData, ContactData contactData) { Id = Guid.NewGuid().ToString(); NameData = nameData; ContactData = contactData; }
public static UserData From(UserState userState) => new UserData(userState.Id, NameData.From(userState.Name), ContactData.From(userState.Contact));
public static UserData From(string id, NameData nameData, ContactData contactData) => new UserData(id, nameData, contactData);
public static UserData From(NameData nameData, ContactData contactData) => new UserData(nameData, contactData);