public async Task <IActionResult> GetRawData([FromBody] RawDataRequest request, CancellationToken cancellationToken) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); // 400 } try { var result = await _historian.ReadRawData(User, request.Tags, request.Start.ToUtcDateTime(), request.End.ToUtcDateTime(), request.PointCount, cancellationToken).ConfigureAwait(false); return(Ok(result.ToDictionary(x => x.Key, x => x.Value.ToHistoricalTagValuesDto()))); // 200 } catch (ArgumentException) { return(BadRequest()); // 400 } catch (OperationCanceledException) { return(StatusCode(204)); // 204 } catch (SecurityException) { return(Forbid()); // 403 } catch (NotSupportedException) { return(BadRequest()); // 400 } catch (NotImplementedException) { return(BadRequest()); // 400 } }
public bool Run(string hash) { Request = new RawDataRequest(); Request.param.hash = hash; return(Run(Request)); }
public Task <IActionResult> GetRawData(CancellationToken cancellationToken, [FromQuery] string[] tag, [FromQuery] string start, [FromQuery] string end, [FromQuery] int pointCount = 0) { var model = new RawDataRequest() { Tags = tag, Start = start, End = end, PointCount = pointCount }; TryValidateModel(model); return(GetRawData(model, cancellationToken)); }
public bool Run(RawDataRequest requestData) { var reply = Client.MakeRequest <RawDataRequest>(requestData); JsonReply = reply.Content; if (reply.StatusCode == System.Net.HttpStatusCode.OK) { Result = JsonConvert.DeserializeObject <RawDataResult>(reply.Content); return(true); } return(false); }
/// <summary> /// Reads raw data values for a set of tags. Authorized using the <c>aika:readtagdata</c> /// authorization policy. /// </summary> /// <param name="request">The raw data request.</param> /// <param name="cancellationToken">The cancellation token for the request.</param> /// <returns> /// A task that will return the raw data values for the tags, indexed by tag name. /// </returns> public async Task <IDictionary <string, HistoricalTagValuesDto> > ReadRawValues(RawDataRequest request, CancellationToken cancellationToken) { if (request == null) { throw new ArgumentNullException(nameof(request)); } const string url = "api/tags/data/raw"; var response = await _client.PostAsJsonAsync(url, request, cancellationToken).ConfigureAwait(false); response.EnsureSuccessStatusCode(); return(await response.Content.ReadAsJsonAsync <IDictionary <string, HistoricalTagValuesDto> >(cancellationToken).ConfigureAwait(false)); }