private void Hanlde(ArticleUpdatedEvent ev) { var detail = _articleDetails.FirstOrDefault(a => a.Id == ev.Data.Id); if (detail == null) { _articleDetails.Add(ev.Data); } else { if (detail.Version < ev.Data.Version) { detail.Content = ev.Data.Content; detail.CategoryId = ev.Data.CategoryId; detail.Content = ev.Data.Content; detail.CreateDate = ev.Data.CreateDate; detail.State = ev.Data.State; detail.Tags = ev.Data.Tags; detail.Title = ev.Data.Title; detail.Version = ev.Data.Version; } } }
public async Task Handle(ArticleUpdatedEvent notification, CancellationToken cancellationToken) { await Handle(new ArticleRemovedEvent(notification.ArticleOld), cancellationToken); await Handle(new ArticleCreatedEvent(notification.ArticleNew), cancellationToken); }