Esempio n. 1
0
        public void Handle(ProjectionMessage.Projections.UnsubscribeProjection message)
        {
            if (!_pausedProjections.Contains(message.CorrelationId))
            {
                Handle(new ProjectionMessage.Projections.PauseProjectionSubscription(message.CorrelationId));
            }
            var distributionPointId = _projectionDistributionPoints[message.CorrelationId];

            if (distributionPointId != Guid.Empty)
            {
                //TODO: test it
                _distributionPoints.Remove(distributionPointId);
                _distributionPointSubscriptions.Remove(distributionPointId);
            }

            _pausedProjections.Remove(message.CorrelationId);
            _projectionDistributionPoints.Remove(message.CorrelationId);
            _projections.Remove(message.CorrelationId);
        }
Esempio n. 2
0
        public void Handle(ProjectionMessage.Projections.UnsubscribeProjection message)
        {
            if (!_pausedProjections.Contains(message.CorrelationId))
            {
                Handle(new ProjectionMessage.Projections.PauseProjectionSubscription(message.CorrelationId));
            }
            var distributionPointId = _projectionDistributionPoints[message.CorrelationId];

            if (distributionPointId != Guid.Empty)
            {
                //TODO: test it
                _distributionPoints.Remove(distributionPointId);
                _distributionPointSubscriptions.Remove(distributionPointId);
                _logger.Trace("The '{0}' projection has unsubscribed from the '{1}' distribution point", message.CorrelationId, distributionPointId);
            }

            _pausedProjections.Remove(message.CorrelationId);
            _projectionDistributionPoints.Remove(message.CorrelationId);
            _subscriptions.Remove(message.CorrelationId);
        }