Beispiel #1
0
 public void Handle(ProjectionManagementMessage.Delete message)
 {
     _lastAccessed = _timeProvider.Now;
     if (!ProjectionManagementMessage.RunAs.ValidateRunAs(Mode, ReadWrite.Write, _runAs, message))
     {
         return;
     }
     Stop(() => DoDelete(message));
 }
Beispiel #2
0
 private void DoDelete(ProjectionManagementMessage.Delete message)
 {
     if (Enabled)
     {
         Disable();
     }
     Delete();
     PrepareAndBeginWrite(
         forcePrepare: false,
         completed: () => message.Envelope.ReplyWith(new ProjectionManagementMessage.Updated(message.Name)));
 }
Beispiel #3
0
        public void Handle(ProjectionManagementMessage.Delete message)
        {
            var projection = GetProjection(message.Name);

            if (projection == null)
            {
                message.Envelope.ReplyWith(new ProjectionManagementMessage.NotFound());
            }
            else
            {
                projection.Handle(message);
            }
        }
Beispiel #4
0
        public void Handle(ProjectionManagementMessage.Delete message)
        {
            if (!_started)
            {
                return;
            }
            var projection = GetProjection(message.Name);

            if (projection == null)
            {
                message.Envelope.ReplyWith(new ProjectionManagementMessage.NotFound());
            }
            else
            {
                projection.Handle(message);
                _projections.Remove(message.Name);
                _projectionsMap.Remove(projection.Id);
            }
        }
Beispiel #5
0
        private void DoDelete(ProjectionManagementMessage.Delete message)
        {
            if (Enabled)
            {
                Disable();
            }
            Delete();
            Action completed = () =>
            {
                message.Envelope.ReplyWith(new ProjectionManagementMessage.Updated(_name));
                DisposeCoreProjection();
                _output.Publish(new ProjectionManagementMessage.Internal.Deleted(_name, Id));
            };

            UpdateProjectionVersion();
            if (Enabled)
            {
                Prepare(() => BeginWrite(completed));
            }
            else
            {
                BeginWrite(completed);
            }
        }
Beispiel #6
0
 public void Handle(ProjectionManagementMessage.Delete message)
 {
     throw new NotImplementedException();
 }
Beispiel #7
0
 public void Handle(ProjectionManagementMessage.Delete message)
 {
     Stop(() => DoDelete(message));
 }