Create a Report Snapshot

This sample project shows how to create a report shapshot item. For this purpose you can use the reportsnapshots REST command. As a parameter, you need to specify the command indent, the report snapshot name and and the report shapshot description. These parameters can be passed as the request post data.

#region Create Snapshot
url = "http://localhost:40010/1/reportsnapshots";
var requestCreateSnapshot = WebRequest.Create(url);
requestCreateSnapshot.Method = "POST";
requestCreateSnapshot.ContentType = "application/x-www-form-urlencoded";
requestCreateSnapshot.Headers.Add("x-sti-SessionKey", sessionKey);

postData = "{'Ident': 'ReportSnapshotItem', 'Name': 'ReportSnapshot01', 'Description': ''}";
Request(requestCreateSnapshot, postData);
// Check Result
var s = GetResponseResult(requestCreateSnapshot);
json = JObject.Parse(s);
var items = ((JArray)json["Items"]);
#endregion


You can use the following methods for send request to the server and get the requested result.

private void Request(WebRequest request, string postData)
{
var bytesCreateSnapshot = Encoding.GetEncoding(1251).GetBytes(postData);
request.ContentLength = bytesCreateSnapshot.Length;
using (Stream ws = request.GetRequestStream())
{
ws.Write(bytesCreateSnapshot, 0, bytesCreateSnapshot.Length);
ws.Flush();
}
}

private string GetResponseResult(WebRequest request)
{
var resp = request.GetResponse();
var respStream = resp.GetResponseStream();
if (respStream != null)
{
using (var stream1 = new StreamReader(respStream))
{
var s = stream1.ReadToEnd();
return s;
}
}
return null;
}


You can check the item key in the More -> Access Key menu action. In the screenshots below you can see the result of the sample code.

Report Snapshot Menu
Report Snapshot Key