public void Handle(ProjectionManagementMessage.Disable message) { _lastAccessed = _timeProvider.Now; if (!ProjectionManagementMessage.RunAs.ValidateRunAs(Mode, ReadWrite.Write, _runAs, message)) { return; } Stop(() => DoDisable(message)); }
private void DoDisable(ProjectionManagementMessage.Disable message) { if (!Enabled) { message.Envelope.ReplyWith(new ProjectionManagementMessage.OperationFailed("Not enabled")); return; } Disable(); BeginWrite( () => message.Envelope.ReplyWith(new ProjectionManagementMessage.Updated(message.Name))); }
private void DoDisable(ProjectionManagementMessage.Disable message) { if (!Enabled) { message.Envelope.ReplyWith(new ProjectionManagementMessage.OperationFailed("Not enabled")); return; } Disable(); PrepareAndBeginWrite( forcePrepare: false, completed: () => message.Envelope.ReplyWith(new ProjectionManagementMessage.Updated(message.Name))); }
public void Handle(ProjectionManagementMessage.Disable message) { _logger.Info("Disabling '{0}' projection", message.Name); var projection = GetProjection(message.Name); if (projection == null) { message.Envelope.ReplyWith(new ProjectionManagementMessage.NotFound()); } else { projection.Handle(message); } }
private void DoDisable(ProjectionManagementMessage.Disable message) { if (!Enabled) { message.Envelope.ReplyWith(new ProjectionManagementMessage.OperationFailed("Not enabled")); return; } Disable(); Action completed = () => message.Envelope.ReplyWith(new ProjectionManagementMessage.Updated(message.Name)); UpdateProjectionVersion(); if (Enabled) { Prepare(() => BeginWrite(completed)); } else { BeginWrite(completed); } }
public void Handle(ProjectionManagementMessage.Disable message) { Stop(() => DoDisable(message)); }