public void Handle(CategoryChangedEvent evnt) { var key = KeyUtils.GetStateKey(evnt.AggregateId); var state = _db.GetObject <BlogState>(key); if (state == null) { throw new Exception("Blog has to be started first."); } var posts = state.Posts.Where(_ => _.CategoryUrl == evnt.Url).ToList(); foreach (var post in posts) { post.CategoryTitle = evnt.Title; post.CategoryUrl = evnt.Url; } _db.SetObject(key, state); }
public virtual Task Handle(CategoryChangedEvent @event) { InnerHandle(@event); return(Task.CompletedTask); }
public void Apply(CategoryChangedEvent evnt) { var category = _categories.GetCategory(evnt.Url); category.Title = evnt.Title; }