private void Handle(ArticleLikedEvent evt) { if (ArticleLikeLst.Any(l => l.UserId == evt.UserId)) { throw new DomainException(Global.ArticleAlreadyLikedByTheUser); } NbLikes++; Version = evt.Version; UpdateDateTime = evt.ActionDateTime; ArticleLikeLst.Add(ArticleLike.Create(evt.UserId, evt.ActionDateTime)); }
private void Handle(ArticleUnlikedEvent evt) { var articleLike = ArticleLikeLst.FirstOrDefault(l => l.UserId == evt.UserId); if (articleLike == null) { throw new DomainException(Global.ArticleNotLikedByTheUser); } NbLikes--; Version = evt.Version; UpdateDateTime = evt.ActionDateTime; ArticleLikeLst.Remove(articleLike); }