Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }