public void Handle(ProjectionManagementMessage.Command.Enable message)
        {
            var command = new EnableCommand {
                Name  = message.Name,
                RunAs = message.RunAs,
            };

            _writer.PublishCommand("$enable", command);
        }
Exemple #2
0
 public void Handle(ProjectionManagementMessage.Command.Enable message)
 {
     _lastAccessed = _timeProvider.Now;
     if (!ProjectionManagementMessage.RunAs.ValidateRunAs(Mode, ReadWrite.Write, _runAs, message))
     {
         return;
     }
     if (Enabled)
     {
         message.Envelope.ReplyWith(new ProjectionManagementMessage.Updated(_name));
         return;
     }
     Enable();
     _pendingPersistedState = true;
     UpdateProjectionVersion();
     SetLastReplyEnvelope(message.Envelope);
     StopUnlessPreparedOrLoaded();
 }
 public void Handle(ProjectionManagementMessage.Command.Enable message)
 {
     _lastAccessed = _timeProvider.Now;
     if (Enabled &&
         !(_state == ManagedProjectionState.Completed || _state == ManagedProjectionState.Faulted ||
           _state == ManagedProjectionState.Aborted || _state == ManagedProjectionState.Loaded ||
           _state == ManagedProjectionState.Prepared || _state == ManagedProjectionState.Stopped))
     {
         //Projection is probably Running
         message.Envelope.ReplyWith(new ProjectionManagementMessage.Updated(message.Name));
         return;
     }
     Enable();
     _pendingWritePersistedState = true;
     UpdateProjectionVersion();
     SetLastReplyEnvelope(message.Envelope);
     StopUnlessPreparedOrLoaded();
 }
        public void Handle(ProjectionManagementMessage.Command.Enable message)
        {
            if (!_started)
            {
                return;
            }
            _logger.Info("Enabling '{0}' projection", message.Name);

            var projection = GetProjection(message.Name);

            if (projection == null)
            {
                _logger.Error("DBG: PROJECTION *{0}* NOT FOUND.", message.Name);
                message.Envelope.ReplyWith(new ProjectionManagementMessage.NotFound());
            }
            else
            {
                projection.Handle(message);
            }
        }
 public void Handle(ProjectionManagementMessage.Command.Enable message)
 {
     _lastAccessed = _timeProvider.Now;
     if (!ProjectionManagementMessage.RunAs.ValidateRunAs(Mode, ReadWrite.Write, _runAs, message))
     {
         return;
     }
     if (Enabled &&
         !(_state == ManagedProjectionState.Completed || _state == ManagedProjectionState.Faulted ||
           _state == ManagedProjectionState.Aborted || _state == ManagedProjectionState.Loaded ||
           _state == ManagedProjectionState.Prepared || _state == ManagedProjectionState.Stopped))
     {
         message.Envelope.ReplyWith(new ProjectionManagementMessage.OperationFailed("Invalid state"));
         return;
     }
     if (!Enabled)
     {
         Enable();
     }
     _pendingPersistedState = true;
     UpdateProjectionVersion();
     SetLastReplyEnvelope(message.Envelope);
     StopUnlessPreparedOrLoaded();
 }