コード例 #1
0
        public Dictionary <string, List <object> > LoadVoltageCurrentSecond(RequestRange range)
        {
            var repo = Repo <PowerRepository <VoltageCurrentSecond> >();

            repo.Database.CommandTimeout = 14400;
            var activeValues = repo.GetModelsInclude(obj =>
                                                     obj.RecordId == range.RecordId &&
                                                     obj.RecordIndex >= range.StartIndex &&
                                                     obj.RecordIndex < range.StartIndex + range.RequestCount,
                                                     new List <string>()
            {
                "Record"
            }).ToList();

            return(typeof(VoltageCurrentSecond).GetProperties().Where(prop => prop.PropertyType == typeof(double) || prop.Name == "RecordTime")
                   .ToDictionary(prop => prop.Name, prop => activeValues.Select(obj => obj.GetType().GetProperty(prop.Name).GetValue(obj, null)).ToList()));
        }
コード例 #2
0
        public ActionResult VoltageCurrentThreeSecond(RecordDataRequest request)
        {
            var range = new RequestRange()
            {
                StartIndex   = int.Parse(Request["StartIndex"]),
                RequestCount = int.Parse(Request["RequestCount"]),
                RecordId     = long.Parse(Request["RecordId"])
            };
            var process        = new RecordProcess();
            var voltageCurrent = process.LoadVoltageCurrentThreeSecond(range);
            var jsonResult     = Json(new
            {
                recordData = voltageCurrent
            }, JsonRequestBehavior.AllowGet);

            jsonResult.MaxJsonLength = int.MaxValue;
            return(jsonResult);
        }
コード例 #3
0
        public ActionResult RecordData(RecordDataRequest request)
        {
            var range = new RequestRange()
            {
                StartIndex   = int.Parse(Request["StartIndex"]),
                RequestCount = int.Parse(Request["RequestCount"]),
                RecordId     = long.Parse(Request["RecordId"])
            };
            var process      = new RecordProcess();
            var activeValues = process.LoadActiveValues(range);
            var jsonResult   = Json(new
            {
                recordData = activeValues
            }, JsonRequestBehavior.AllowGet);

            jsonResult.MaxJsonLength = int.MaxValue;
            return(jsonResult);
        }
コード例 #4
0
        /// <summary>
        /// Executes Requests in a standard paged manner.
        /// </summary>
        /// <param name="range"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task <IEnumerable <TResponseItem> > ExecutePagedAsync(RequestRange range,
                                                                           CancellationToken cancellationToken = default(CancellationToken))
        {
            var result       = new List <TResponseItem>();
            var pageTokenGen = new PageTokenGenerator();

            ListRequestBuilder.MaxResults = range.MaxResultsPerPage;
            var nextPageToken = pageTokenGen.NumberToToken(range.StartIndex);

            while (nextPageToken != null && result.Count < range.NumberOfItems)
            {
                ListRequestBuilder.PageToken = nextPageToken;
                var response =
                    await ListRequestBuilder.CreateRequest().ExecuteAsync(cancellationToken).ConfigureAwait(false);

                var responseItems = response.GetResponseItems <TResponseItem>();

                result.AddRange(responseItems);
                nextPageToken = response.GetNextPageToken();
            }
            return(result);
        }
コード例 #5
0
        /// <summary>
        /// Gets All objects in the resource.
        /// </summary>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task <IEnumerable <TResponseItem> > ExecutePagedGetAllAsync(CancellationToken cancellationToken = default(CancellationToken))
        {
            var range = new RequestRange(Int32.MaxValue);

            return(await ExecutePagedAsync(range, cancellationToken).ConfigureAwait(false));
        }
コード例 #6
0
        public IEnumerable <SecurityDataAndMetadata> ParseSourceQuotes()
        {
            string                  repo        = _sourceMetaLoader.LoadSourceInstrumentMetadata().RepositoryPath;
            string                  symbol      = _sourceMetaLoader.LoadSourceInstrumentMetadata().Symbol;
            RepositoryId            repoId      = new RepositoryId(repo);
            SecurityId              securityId  = new SecurityId(symbol, Interval.Daily, repoId);
            int                     range       = _sourceMetaLoader.LoadSourceInstrumentMetadata().Range;
            SecurityDataAndMetadata dataRecords = dataManager.GetDataAndMetadataAsync(securityId, RequestRange.LastNPoints(range)).Result;

            yield return(dataRecords);
        }