POST /Account/Count/

Gets the number of accounts that match the filter.
 

Request

Method Request URI
POST /API/Account/Count/?sessionId=value

URI Parameters

URI Parameter Description
sessionId Current session ID.

Request Body

Name: options
Type: Dundas.BI.WebApi.Models.GetAccountsOptions

Response

Response Body

An System.Int32 containing the number of accounts that match the criteria, or a status code indicating the problem.

Examples

This example will the query the number of accounts that match the filter for "dundas".

C# Java JavaScript
using System.Net;
using System.Net.Http;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Web.Script.Serialization;

   ...

using (HttpClient httpClient = new HttpClient())
{
	// Get Session Id
	string logonUri = "http://localhost:8004/Api/LogOn/";
	var logonOptions = new
	{
		accountName = "admin",
		password = "1234",
		cultureName = string.Empty,
		deleteOtherSessions = true,
		isWindowsLogOn = false
	};

	JavaScriptSerializer serializer = new JavaScriptSerializer();
	var requestBodyAsString = serializer.Serialize(logonOptions);
	StringContent content =
		new StringContent(
			requestBodyAsString,
			Encoding.UTF8,
			"application/json"
		);

	string jsonString = string.Empty;

	using (var response = httpClient.PostAsync(logonUri, content).Result)
	{
		jsonString =
			response.Content.ReadAsStringAsync().Result;
	}

	var obj = (Dictionary<string,object>) serializer.DeserializeObject(jsonString);
	string sessionId = obj["sessionId"].ToString();
	string url = "http://localhost:8004/API/Account/Count/?sessionId=" + sessionId + "";

	// Define the request body
	HttpContent requestBody = null;
	requestBody = 
		new StringContent(@"
		{
		    ""queryAccountsOptions"": {
		        ""pageNumber"": 1,
		        ""pageSize"": 25,
		        ""filter"": [
		            {
		                ""field"": ""AccountType"",
		                ""operator"": ""Equals"",
		                ""value"": ""VirtualWindowsUser"",
		                ""options"": ""InvertOperator""
		            },
		            {
		                ""field"": ""None"",
		                ""operator"": ""Or"",
		                ""value"": [
		                    {
		                        ""field"": ""Name"",
		                        ""operator"": ""Contains"",
		                        ""value"": ""dundas"",
		                        ""options"": ""None""
		                    },
		                    {
		                        ""field"": ""DisplayName"",
		                        ""operator"": ""Contains"",
		                        ""value"": ""dundas"",
		                        ""options"": ""None""
		                    }
		                ],
		                ""options"": ""None""
		            }
		        ]
		    }
		}
		",Encoding.UTF8,"application/json");
	using (var response = httpClient.PostAsync(url, requestBody).Result)
	{
		if(response.StatusCode == HttpStatusCode.OK)
		{
			Console.WriteLine("Success");

			// An System.Int32 containing the number of
			// accounts that match the criteria as a
			// JSON string.
			string jsonObject = response.Content.ReadAsStringAsync().Result;
		}
	}
}

		
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.apache.http.entity.StringEntity;
import org.json.JSONObject;

   ...

HttpClient httpClient = HttpClientBuilder.create().build();

String url = "http://localhost:8004";

// Get Session Id
String logonUri = url + "Api/LogOn/"
HttpPost httpPost = new HttpPost(logonUri);
StringEntity stringEntity = 
	new StringEntity("{
		+ "\"accountName\":\"admin\","
		+ "\"password":\"1234\","
		+ "\"cultureName\":\"\","
		+ "\"deleteOtherSessions\":false,"
		+ "\"isWindowsLogOn\":false"
		+ "}"
	);
stringEntity.setContentType("application/json");
httpPost.setEntity(stringEntity);
HttpResponse httpResponse = httpClient.execute(httpPost);
String jsonString = EntityUtils.toString(httpResponse.getEntity());
JSONObject jsonObj = new JSONObject(jsonString);
String sessionId = jsonObj.getString("sessionId")

String requestUrl = "http://localhost:8004/API/Account/Count/?sessionId=" + sessionId + "";

// Define the Request Method.
HttpPost requstMethod = new HttpPost(requestUrl);

// Define the Request Body.
StringEntity input =
	new StringEntity(
		 "{"
		+ "\"queryAccountsOptions\": {"
		+ "    \"pageNumber\": 1,"
		+ "    \"pageSize\": 25,"
		+ "    \"filter\": ["
		+ "        {"
		+ "            \"field\": \"AccountType\","
		+ "            \"operator\": \"Equals\","
		+ "            \"value\": \"VirtualWindowsUser\","
		+ "            \"options\": \"InvertOperator\""
		+ "        },"
		+ "        {"
		+ "            \"field\": \"None\","
		+ "            \"operator\": \"Or\","
		+ "            \"value\": ["
		+ "                {"
		+ "                    \"field\": \"Name\","
		+ "                    \"operator\": \"Contains\","
		+ "                    \"value\": \"dundas\","
		+ "                    \"options\": \"None\""
		+ "                },"
		+ "                {"
		+ "                    \"field\": \"DisplayName\","
		+ "                    \"operator\": \"Contains\","
		+ "                    \"value\": \"dundas\","
		+ "                    \"options\": \"None\""
		+ "                }"
		+ "            ],"
		+ "            \"options\": \"None\""
		+ "        }"
		+ "    ]"
		+ "}"
	);
input.setContentType("application/json");
requstMethod.setEntity(input);
HttpResponse response = 
	httpClient.execute(requstMethod);

if(response.getStatusLine().getStatusCode() == 200)
{
	System.out.println("Success");
}
// An System.Int32 containing the number of
// accounts that match the criteria as a
// JSON string.
String json = EntityUtils.toString(response.getEntity());
		
var baseUrl = 'http://localhost:8005';
var logonOptions =
{
	accountName: 'admin',
	password: '1234',
	cultureName: 'en-us',
	deleteOtherSessions: false,
	isWindowsLogOn: false
};
$.ajax({
	type: 'POST',
	url: baseUrl + '/Api/LogOn/',
	data: logonOptions,
	success: function(logOnResultData) { 
		var sessionId = logOnResultData.sessionId; 

		var dataObject =
			{			
			    "queryAccountsOptions": {
			        "pageNumber": 1,
			        "pageSize": 25,
			        "filter": [
			            {
			                "field": "AccountType",
			                "operator": "Equals",
			                "value": "VirtualWindowsUser",
			                "options": "InvertOperator"
			            },
			            {
			                "field": "None",
			                "operator": "Or",
			                "value": [
			                    {
			                        "field": "Name",
			                        "operator": "Contains",
			                        "value": "dundas",
			                        "options": "None"
			                    },
			                    {
			                        "field": "DisplayName",
			                        "operator": "Contains",
			                        "value": "dundas",
			                        "options": "None"
			                    }
			                ],
			                "options": "None"
			            }
			        ]
			    }
			
			};

		$.ajax({
			type: "POST",
			url: baseUrl + "/API/Account/Count/?sessionId=" + sessionId + "",
			data: dataObject,
			success: function(data) { 
				 // data = An System.Int32 containing the
				 // number of accounts that match the
				 // criteria.

			},
			error: function(data) { alert('failed' + data); }
		});
	}
});