Beispiel #1
0
        /// <summary>
        /// Sends an analytics request to the server.
        /// </summary>
        /// <typeparam name="T">The <see cref="Type" /> T of the body for each row (or document) result.</typeparam>
        /// <param name="analyticsRequest">The analytics request.</param>
        /// <returns></returns>
        public IAnalyticsResult <T> Send <T>(IAnalyticsRequest analyticsRequest)
        {
            IAnalyticsResult <T> result;

            if (_isDown)
            {
                result = HandleNodeUnavailable <T>(analyticsRequest);
            }
            else
            {
                try
                {
                    result = _analyticsClient.Query <T>(analyticsRequest);
                }
                catch (Exception exception)
                {
                    result = new AnalyticsResult <T>
                    {
                        Exception = exception,
                        Message   = exception.Message,
                        Success   = false,
                    };
                }
            }
            return(result);
        }