Esempio n. 1
0
        /// <summary>
        /// Get aggregated time series data for one aspect of an asset
        /// </summary>
        public async Task <IEnumerable <T> > GetAggregateTimeSeriesAsync <T>(GetAggregateTimeSeriesRequest request) where T : AggregateSet
        {
            string uri = GetUri(request);

            string response = await HttpActionAsync(HttpMethod.Get, uri);

            var tsAggregateWrapper = JsonConvert.DeserializeObject <AggregateWrapper <T> >(response);
            var tsAggregate        = tsAggregateWrapper.Aggregates;

            return(tsAggregate);
        }
Esempio n. 2
0
        /// <summary>
        /// Generate URI for time series aggregation request
        /// </summary>
        private string GetUri(GetAggregateTimeSeriesRequest request)
        {
            // prepare query string
            string queryString = "?";

            queryString += request.AssetId != null ? $"assetId={request.AssetId}&" : "";
            queryString += request.AspectName != null ? $"aspectName={request.AspectName}&" : "";
            queryString += request.From != null ? $"from={Helper.GetDateTimeUtcString(request.From.Value)}& " : "";
            queryString += request.To != null ? $"to={Helper.GetDateTimeUtcString(request.To.Value)}&" : "";
            queryString += request.IntervalValue != null ? $"intervalValue={request.IntervalValue}&" : "";
            queryString += request.IntervalUnit != null ? $"intervalUnit={request.IntervalUnit}&" : "";
            queryString += request.Select != null ? $"select={request.Select}&" : "";
            queryString += request.Count != null ? $"count={request.Count}&" : "";

            string uri = _baseUri + "/aggregates" + queryString;

            return(uri);
        }