Esempio n. 1
0
        /// <summary>
        /// Publishes the on next.
        /// </summary>
        /// <param name="value">The value.</param>
        public void PublishOnNext(T value)
        {
            if (!VisualRxSettings.Enable)
            {
                return;
            }

            var candidate = new MarbleCandidate(_name, MarbleKind.OnNext, _keyworkds);

            VisualRxProxyWrapper[] proxies = VisualRxSettings.GetProxies(candidate);

            #region Validation

            if (proxies.Length == 0)
            {
                return;
            }

            #endregion // Validation

            object item = _surrogate.Mapping(value, candidate) ?? value;
            // TODO: Marble base should have a virtual method for the surrogate
            var marbleItem = MarbleNext.Create(_name, _surrogate.SerializationStrategy, item,
                                               SafeStopwatch.Elapsed(), _machineName);
            Publish(marbleItem, proxies);
        }
Esempio n. 2
0
        /// <summary>
        /// Publishes the error.
        /// </summary>
        /// <param name="ex">The ex.</param>
        public void PublishError(Exception ex)
        {
            if (!VisualRxSettings.Enable)
            {
                return;
            }

            var candidate = new MarbleCandidate(_name, MarbleKind.OnError, _keyworkds);

            VisualRxProxyWrapper[] proxies = VisualRxSettings.GetProxies(candidate);

            #region Validation

            if (proxies.Length == 0)
            {
                return;
            }

            #endregion // Validation

            var marbleItem = MarbleError.Create(_name, _surrogate.SerializationStrategy, ex, SafeStopwatch.Elapsed()
                                                , _machineName);
            Publish(marbleItem, proxies);
        }