public void Read(string userId, string sessionId) { var evt = new ArticleReadEvent(Guid.NewGuid().ToString(), Id, Version + 1, Language, userId, sessionId, DateTime.UtcNow); Handle(evt); DomainEvts.Add(evt); }
private void Handle(ArticleReadEvent evt) { if (ArticleReadLst.Any(l => l.UserId == evt.UserId)) { throw new DomainException(Global.ArticleAlreadyReadByTheUser); } NbRead++; Version = evt.Version; UpdateDateTime = evt.ActionDateTime; ArticleReadLst.Add(ArticleRead.Create(evt.UserId, evt.ActionDateTime)); }