public void Unlike(string userId, string sessionId) { var evt = new ArticleUnlikedEvent(Guid.NewGuid().ToString(), Id, Version + 1, Language, userId, sessionId, DateTime.UtcNow); Handle(evt); DomainEvts.Add(evt); }
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); }