public async Task <StatementsResultLrsResponse> QueryStatementsAsync(StatementsQuery query) { var r = new StatementsResultLrsResponse(); var req = new MyHttpRequest { Method = "GET", Resource = "statements", QueryParams = query.ToParameterMap(Version) }; var res = await MakeRequest(req); if (res.Status != HttpStatusCode.OK) { r.Success = false; r.HttpException = res.Ex; r.SetErrMsgFromBytes(res.Content); return(r); } r.Success = true; r.Content = new StatementsResult(new Json.StringOfJson(Encoding.UTF8.GetString(res.Content))); return(r); }
public async Task <StatementsResultLrsResponse> MoreStatementsAsync(StatementsResult result) { var r = new StatementsResultLrsResponse(); var req = new MyHttpRequest { Method = "GET", Resource = Endpoint.GetLeftPart(UriPartial.Authority) }; if (!req.Resource.EndsWith("/")) { req.Resource += "/"; } req.Resource += result.More; var res = await MakeRequest(req); if (res.Status != HttpStatusCode.OK) { r.Success = false; r.HttpException = res.Ex; r.SetErrMsgFromBytes(res.Content); return(r); } r.Success = true; var json = new Json.StringOfJson(Encoding.UTF8.GetString(res.Content)); r.Content = new StatementsResult(json); return(r); }
public async Task <StatementsResultLrsResponse> SaveStatementsAsync(List <Statement> statements) { var r = new StatementsResultLrsResponse(); var req = new MyHttpRequest { Resource = "statements", Method = "POST", ContentType = "application/json" }; var jarray = new JArray(); foreach (var st in statements) { jarray.Add(st.ToJObject(Version)); } req.Content = Encoding.UTF8.GetBytes(jarray.ToString()); var res = await MakeRequest(req); if (res.Status != HttpStatusCode.OK) { r.Success = false; r.HttpException = res.Ex; r.SetErrMsgFromBytes(res.Content); return(r); } var ids = JArray.Parse(Encoding.UTF8.GetString(res.Content)); for (var i = 0; i < ids.Count; i++) { statements[i].Id = new Guid((string)ids[i]); } r.Success = true; r.Content = new StatementsResult(statements); return(r); }