Syntax
Public Function AccountStatusReport (ClientID As Long, AccountType As Integer, Optional ByVal isPaging As Boolean = False) As String
Description
The AccountStatusReport operation is used to get account status report for all accounts under the given client number
Request Parameters
Name |
Description |
Required |
ClientID |
- Client identifier to get account Status report for
- Type : Long
- Default : None
- Constraints : Must be valid client Id and accessible by logged in dealer
|
Yes
|
AccountType |
- Type of account that want to get account status report for
- Type : Integer
- Default : none
- Can be one of the following :
1 : Normal Account 2 : Coverage Account
|
Yes
|
isPaging |
- Boolean value which indicate that you are calling AccountStatusReport to get remaining records
- This is useful if you are calling a large amount of data to split the returned data as 3000 rows for each response
- Type : Boolean
- Default : False
- Constraints : on first call must be false and next calls true
|
Conditional if the first ClientID in AccountStatusReport List = -1200
|
Response Elements
Name |
Description |
Result |
The operation returns list of type AccountStatusReport, otherwise an explicit error code is returned if ClientID is less than 0 .
The Following are the AccountStatusReport data member
- ClientID : Client Identifier
- AccountID : Account Identifier
- Balance: Balance value
- Credit: credit value
- FLTPL: floating profit loss
- MarginReq: used margin value
- Commission: Commission value
- ProfitLoss : Profit loss value
|
NOTE : Equity = Balance + Credit + Flt P\L
Margin level ----> If margin Req (used Margin) = 0 Then Margin level = 100%
Else Margin level = Math.Round(100 * Equity / MarginReq, 2).ToString() + "%"
Free Margin = Equity - margin Req
Net Credit ---> If Credit > Equity Then Net Credit = Credit - Equity
Else Net Credit = 0
Net Equity ---> If Equity > Credit Then Net Equity= Equity - Credit
Else Net Equity = 0
Sample
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>AccountStatusReport</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<script>
$(document).ready(function () {
var urlStr = "http://173.249.35.43/webtrader/webservice.svc";
jQuery.support.cors = true;
$("#progress").ajaxStart(function () { $(this).css("display", "block"); });
$("#progress").ajaxComplete(function () { $(this).css("display", "none"); });
$("#resultAction").ajaxError(function (result) { $(this).html('An error occured'); });
function onSuccessResultt(dataResult) {
var result = eval('(' + dataResult + ')');
var rst = ""
if (result[0].ClientID > 0) {
for (var i = 0; i < result.length; i++) {
rst += "AccountID : " + result[i].AccountID + "<br/>"
rst += "Balance : " + result[i].Balance + "<br/>"
rst += "Credit : " + result[i].Credit + "<br/>"
rst += "FLTPL : " + result[i].FLTPL + "<br/>"
rst += "ClientID : " + result[i].ClientID + "<br/>"
rst += "Commission : " + result[i].Commission + "<br/>"
rst += "--------------------------------------------------" + "<br/>"
$("#resultAction").html(rst);
}
}
else {
$("#resultAction").html("Error Code : " + result[0].ClientID + "<br/>" );
}
}
function onSuccessResult(response) {
response = eval('(' + response + ')')
if (response.UserId == -1 || response.UserId == -207) {
$("#resultData").html("Invalid username or password");
}
else if (response.UserId == -231) {
$("#resultData").html("You must have at least one account");
}
else if (response == null || response == "" || response.UserId < 0) {
$("#resultData").html("Error while login.Please try later");
}
else {
$("#resultData").html("SuccessResult ... UserId is :" + response.UserId);
}
}
function onErrorResult(result) {
alert('Service call faild : ' + result.status + ' ' + result.statusText);
}
$("#btnLogin").click(function () {
$.getJSON(urlStr + "/BackofficeLogin?username=" + $("#txtusername").val() + "&password=" + $("#txtpassword").val() + "&callback=?" , onSuccessResult);
});
$("#btnAction").click(function () {
$.getJSON(urlStr + "/AccountStatusReport?ClientID="+ $("#txtClientID").val() + "&AccountType=" + $("#txtAccountType").val() + "&isPaging=" + $("#txtIsPaging").val() + "&callback=?", onSuccessResultt);
});
});
</script>
<body>
<table border="1px">
<tbody>
<tr>
<td>
Username: <input type="text" id="txtusername" value=""/>
Password: <input type="text" id="txtpassword" value=""/>
<button id="btnLogin"> Login </button>
</td>
</tr>
<tr >
<td>
ClientID : <input type="text" id="txtClientID" value ="" />
AccountType : <input type="text" id="txtAccountType" value=""/>
IsPaging : <input type="text" id="txtIsPaging" value="False" />
</td>
</tr>
<tr>
<td>
<button id="btnAction"> AccountStatusReport </button>
</td>
</tr>
</tbody>
</table>
<div id="resultData"> </div>
<div id="resultAction"> </div>
</body>
</html>
See Also
VertexFX Backoffice WCF Service Index
|