public static DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.SearchResponse Search(DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.SearchRequest query, int?hits)
        {
            System.Func <string> getUrl = () =>
            {
                System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
                return("/selis-*/_search?filter_path=hits.total,hits.max_score,hits.hits._id,hits.hits._source&size=" + hits.GetValueOrDefault(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        = "Search",
                PostType         = PostType.JSON,
                Data             = query, FormData = new Dictionary <string, object> {
                    { "query", query }
                }
            };
            Func <ServiceConsumptionContainer, DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.SearchResponse> _invocation = (_httpResponse) =>
            {
                var _returnedItem = RestServiceConsumer.Consume <DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.SearchResponse>(_options, _httpResponse);
                return(zAppDev.DotNet.Framework.Utilities.Common.SafeCast <DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.SearchResponse>(_returnedItem));
            };
            var _consumer = new ServiceConsumer <DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.SearchResponse>(_invocation);

            return(_consumer.Invoke(_options));
        }
Beispiel #2
0
 public static DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.SearchRequest Query(string q, string fromDate, string toDate)
 {
     using (new zAppDev.DotNet.Framework.Profiling.Profiler("MakeRequest", zAppDev.DotNet.Framework.Profiling.AppDevSymbolType.ClassOperation, "Query")) {
         DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.SearchRequest searchObject = new DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.SearchRequest();
         System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.Sort> sorts = new System.Collections.Generic.List <DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.Sort>();
         sorts.Add(DSS1_RetailerDriverStockOptimisation.BO.MakeRequestExtensions.SortByTimestamp("desc"));
         searchObject.sort = sorts.ToList(); searchObject.query = DSS1_RetailerDriverStockOptimisation.BO.MakeRequestExtensions.GetQuery(q, fromDate, toDate); DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.Meta meta = new DSS1_RetailerDriverStockOptimisation.ExternalStructs.Elasticsearch.Meta();
         meta.excludes     = new string[] { "message" }; searchObject.source = meta; return(searchObject);
     }
 }