public ProjectionStatistics GetStatistics() { _coreQueue.Publish(new CoreProjectionManagementMessage.UpdateStatistics(_id)); ProjectionStatistics status; if (_lastReceivedStatistics == null || _state != ManagedProjectionState.Running) { status = new ProjectionStatistics { Name = _name, Mode = GetMode(), Status = _state.EnumVaueName(), MasterStatus = _state }; } else { status = _lastReceivedStatistics.Clone(); status.Name = _name; status.Status = _state.EnumVaueName() + "/" + status.Status; status.MasterStatus = _state; } if (_state == ManagedProjectionState.Faulted) { status.StateReason = _faultedReason; } return(status); }
public ProjectionStatistics GetStatistics() { _coreQueue.Publish(new CoreProjectionManagementMessage.UpdateStatistics(Id)); ProjectionStatistics status; if (_lastReceivedStatistics == null) { status = new ProjectionStatistics { Name = _name, Epoch = -1, Version = -1, Mode = GetMode(), Status = _state.EnumValueName(), MasterStatus = _state }; } else { status = _lastReceivedStatistics.Clone(); status.Mode = GetMode(); status.Name = _name; var enabledSuffix = ((_state == ManagedProjectionState.Stopped || _state == ManagedProjectionState.Faulted) && Enabled ? " (Enabled)" : ""); status.Status = (status.Status == "Stopped" && _state == ManagedProjectionState.Completed ? _state.EnumValueName() : (!status.Status.StartsWith(_state.EnumValueName()) ? _state.EnumValueName() + "/" + status.Status : status.Status)) + enabledSuffix; status.MasterStatus = _state; } if (_state == ManagedProjectionState.Faulted) { status.StateReason = _faultedReason; } status.Enabled = Enabled; return(status); }