Example #1
0
        public GetEcoIndexDataResponse GetEcoIndexData(GetEcoIndexDataRequest request)
        {
            RestRequest restRequest = new RestRequest(request.PatterName + "/_search", Method.POST);

            ElasticSingleRequest searchRequest = new ElasticSingleRequest
            {
                query = new ElasticEcoQuery
                {
                    @bool = new ElasticBool
                    {
                        filter = new ElasticFilter
                        {
                            term = new ElasticTermId
                            {
                                Id = request.EcoIndexNr
                            }
                        },
                        must = new ElasticMustFilter
                        {
                            term = new ElasticMustName
                            {
                                Name = request.PairName
                            }
                        },
                        should = new ElasticShouldFilter()
                        {
                            range = new ElasticRange
                            {
                                Time = new ElasticRangeParameter
                                {
                                    gte = request.From.ToString("yyyy-MM-dd"),
                                    lte = request.To.ToString("yyyy-MM-dd")
                                }
                            }
                        }
                    }
                },
                size = request.size,
                sort = new List <ElasticSort>
                {
                    new ElasticSort
                    {
                        Time = new ElasticTimeSort()
                    }
                }
            };

            restRequest.AddJsonBody(searchRequest);
            IRestResponse <GetEcoIndexDataResponse> response = _client.Execute <GetEcoIndexDataResponse>(restRequest);

            return(response.Data);
        }
Example #2
0
        public List <EcoIndex> GetLastEcoIndex(string pattern, EcoIndexEnum ecoIndex, string pairName, int size = 1)
        {
            RestRequest          restRequest = new RestRequest(pattern + "/_search", Method.POST);
            ElasticSingleRequest request     = new ElasticSingleRequest
            {
                query = new ElasticEcoQuery
                {
                    @bool = new ElasticBool
                    {
                        filter = new ElasticFilter
                        {
                            term = new ElasticTermId
                            {
                                Id = (int)ecoIndex
                            }
                        },
                        must = new ElasticMustFilter
                        {
                            term = new ElasticMustName
                            {
                                Name = pairName
                            }
                        },
                    }
                },
                size = size,
                sort = new List <ElasticSort>
                {
                    new ElasticSort
                    {
                        Time = new ElasticTimeSort()
                    }
                }
            };

            restRequest.AddJsonBody(request);
            IRestResponse <ElasticItemResponse> response = _client.Execute <ElasticItemResponse>(restRequest);

            return(response?.Data?.hits?.hits?.Select(h => h._source)?.ToList());
        }