public void Handle(ChangedUserEmailEvent @event) { using (var db = new DisciturContext()) { // ATTENTION: I can use Discitur.QueryStack.Model.User, instead of Discitur.Domain.Model.User // just because the class Name (User) is the same in both classes. // This implementation of _identityMapper uses Class.Name to map (not FullName) int userId = _identityMapper.GetModelId <User>(@event.Id); User user = db.Users.Find(userId); if (user != null) { user.Email = @event.Email; db.Entry(user).State = EntityState.Modified; db.SaveChanges(); } } }
void Apply(ChangedUserEmailEvent @event) { Email = @event.Email; }