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())); }
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); }
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); }
/// <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); }
/// <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)); }
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); }