Beispiel #1
0
        public void Handle(MessageRequacked evt)
        {
            var userSubscriptions = _subscriptionsRepository.GetSubscriptionsOfUser(evt.Requacker);

            foreach (var userSubscription in userSubscriptions)
            {
                userSubscription.NotifyFollower(_eventPublisher, evt.Id);
            }
        }
        public void WhenMessageRequackedByFolloweeThenRaiseFolloweeMessageQuacked()
        {
            AddFollower(SubscriptionId);
            var author           = new UserId("*****@*****.**");
            var messageQuacked   = new MessageQuacked(MessageId.Generate(), author, "hello");
            var messageRequacked = new MessageRequacked(messageQuacked.Id, SubscriptionId.Followee);

            _handler.Handle(messageRequacked);

            Check.That(_eventPublisher.Events).Contains(new FolloweeMessageQuacked(SubscriptionId, messageQuacked.Id));
        }
Beispiel #3
0
        public void Requack(IEventPublisher eventPublisher, UserId requacker)
        {
            if (_projection.Quackers.Contains(requacker))
            {
                return;
            }

            if (_projection.IsDeleted)
            {
                return;
            }

            var evt = new MessageRequacked(_projection.Id, requacker);

            eventPublisher.Publish(evt);
        }
Beispiel #4
0
 private void When(MessageRequacked evt)
 {
     _quackers.Add(evt.Requacker);
 }