Example #1
0
        public void Handle(ProjectionManagementMessage.Command.Abort message)
        {
            if (!_started)
            {
                return;
            }
            _logger.Info("Aborting '{0}' projection", message.Name);

            var projection = GetProjection(message.Name);

            if (projection == null)
            {
                message.Envelope.ReplyWith(new ProjectionManagementMessage.NotFound());
            }
            else
            {
                if (!ProjectionManagementMessage.RunAs.ValidateRunAs(projection.Mode, ReadWrite.Write, projection.RunAs, message))
                {
                    return;
                }
                projection.Handle(message);
            }
        }