public static DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.AnalyticsResponse Analytics(DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.AnalyticsRequest query)
        {
            System.Func <string> getUrl = () =>
            {
                System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
                return("/selis-*/_search?size=0");
            };
            var _operationRelativeUrl = getUrl.Invoke().Trim();

            if (_operationRelativeUrl?.StartsWith("/") == true && BaseUrl?.EndsWith("/") == true)
            {
                _operationRelativeUrl = _operationRelativeUrl.TrimStart('/');
            }
            var _targetUrl = BaseUrl + _operationRelativeUrl;
            var _options   = new RestServiceConsumptionOptions
            {
                Url             = _targetUrl,
                Verb            = RestHTTPVerb.POST,
                SecurityType    = RestSecurityType.BasicAuth,
                UserName        = "******",
                Password        = "******",
                ExtraHeaderData = new System.Collections.Generic.Dictionary <string, string>(StringComparer.OrdinalIgnoreCase)
                {
                },
                LogAccess        = false,
                IsCachingEnabled = false,
                ApiName          = "Elasticsearch",
                Operation        = "Analytics",
                PostType         = PostType.JSON,
                Data             = query, FormData = new Dictionary <string, object> {
                    { "query", query }
                }
            };
            Func <ServiceConsumptionContainer, DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.AnalyticsResponse> _invocation = (_httpResponse) =>
            {
                var _returnedItem = RestServiceConsumer.Consume <DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.AnalyticsResponse>(_options, _httpResponse);
                return(zAppDev.DotNet.Framework.Utilities.Common.SafeCast <DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.AnalyticsResponse>(_returnedItem));
            };
            var _consumer = new ServiceConsumer <DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.AnalyticsResponse>(_invocation);

            return(_consumer.Invoke(_options));
        }
Beispiel #2
0
 public static DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.AnalyticsRequest Analytics(string q, string fromDate, string toDate)
 {
     using (new zAppDev.DotNet.Framework.Profiling.Profiler("MakeRequest", zAppDev.DotNet.Framework.Profiling.AppDevSymbolType.ClassOperation, "Analytics")) {
         DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.AnalyticsRequest analyticsObject = new DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.AnalyticsRequest();
         analyticsObject.query = DSS1_RetailerDriverStockOptimisation.BO.MakeRequestExtensions.GetQuery(q, fromDate, toDate); string interval = DSS1_RetailerDriverStockOptimisation.BO.MakeRequestExtensions.GetInterval(fromDate);
         analyticsObject.aggs  = DSS1_RetailerDriverStockOptimisation.BO.MakeRequestExtensions.GetAggregations(interval); DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.Meta meta = new DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.Meta();
         meta.excludes         = new string[] { "message" }; analyticsObject.source = meta; return(analyticsObject);
     }
 }