private async Task <StatementLrsResponse> GetStatement(Dictionary <string, string> queryParams) { var r = new StatementLrsResponse(); var req = new MyHttpRequest { Method = "GET", Resource = "statements", QueryParams = queryParams }; 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 Statement(new Json.StringOfJson(Encoding.UTF8.GetString(res.Content))); return(r); }
public async Task <StatementLrsResponse> SaveStatementAsync(Statement statement) { var r = new StatementLrsResponse(); var req = new MyHttpRequest { QueryParams = new Dictionary <string, string>(), Resource = "statements" }; if (statement.Id == null) { req.Method = "POST"; } else { req.Method = "PUT"; req.QueryParams.Add("statementId", statement.Id.ToString()); } req.ContentType = "application/json"; req.Content = Encoding.UTF8.GetBytes(statement.ToJson(Version)); var res = await MakeRequest(req); if (statement.Id == null) { 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)); statement.Id = new Guid((string)ids[0]); } else { if (res.Status != HttpStatusCode.NoContent) { r.Success = false; r.HttpException = res.Ex; r.SetErrMsgFromBytes(res.Content); return(r); } } r.Success = true; r.Content = statement; return(r); }