GetSupplierBalanceInformation - accountsIQ/API-Wiki GitHub Wiki
The GetSupplierBalanceInformation
function returns the queried accounts balance and credit limit at the specified date.
public WSResult2OfArrayOfAccountBalanceInformation GetSupplierBalanceInformation(string token, DateTime edt, string[] SupplierCodes)
Public Function GetSupplierBalanceInformation(ByVal token As String, ByVal edt As DateTime, ByVal SupplierCodes As String()) As WSResult2OfArrayOfAccountBalanceInformation
Parameter | Type | Description |
---|---|---|
token | String | The session token retrieved during authentication. |
currentDate | DateTime | Date at which the balance should be calculated |
supplierCodes | String[] | Array of Supplier codes for which the balance information is being requested. |
Integration ws = new Integration();
String auth = ws.Login(entityID, partnerKey, userKey);
if( auth != null )
{
WSResult2OfArrayOfCustomer customers = this.ws.GetActiveCustomerList(this.auth);
Assert.AreEqual<OperationStatus>(OperationStatus.Success, customers.Status);
WSResult2OfArrayOfAccountBalanceInformation custInfo = this.ws.GetCustomerBalanceInformation(this.auth, DateTime.Now, customers.Result.Select<Customer, String=""> (delegate (Customer a) { return a.Code; }).ToArray<string>());
Assert.AreEqual<OperationStatus>(OperationStatus.Success, accInfo.Status);
foreach (AccountBalanceInformation info in custInfo.Result)
{
AccountBalanceInformation foundInfo = accInfo.Result.Where<AccountBalanceInformation>(delegate (AccountBalanceInformation x) { return (x.AccountCode == info.AccountCode); }).FirstOrDefault<AccountBalanceInformation>();
Assert.IsNotNull(foundInfo);
Assert.AreEqual<int>(info.AccountID, foundInfo.AccountID);
Assert.AreEqual<string>(info.AccountType, foundInfo.AccountType);
Assert.AreEqual<decimal>(info.Balance, foundInfo.Balance);
Assert.AreEqual<decimal>(info.CreditLimit, foundInfo.CreditLimit);
Assert.AreEqual<decimal>(info.OverCreditLimitBalance, foundInfo.OverCreditLimitBalance);
}
}
Dim ws As New Integration_1_1
Dim auth As String = ws.Login(entityID, partnerKey, userKey)
If (Not Me.auth Is Nothing) Then
Dim customers As WSResult2OfArrayOfCustomer = Me.ws.GetActiveCustomerList(Me.auth)
Assert.AreEqual(Of OperationStatus)(OperationStatus.Success, customers.Status)
Dim custInfo As WSResult2OfArrayOfAccountBalanceInformation = Me.ws.GetCustomerBalanceInformation(Me.auth, DateTime.Now, customers.Result.Select(Of Customer, String)(Function (ByVal a As Customer) Return a.Code End Function).ToArray(Of String)())
Assert.AreEqual(Of OperationStatus)(OperationStatus.Success, custInfo.Status)
Dim accInfo As WSResult2OfArrayOfAccountBalanceInformation = Me.ws.GetAccountBalanceInformation(Me.auth, DateTime.Now, customers.Result.Select(Of Customer, Integer)(Function (ByVal a As Customer) Return a.AccountID End Function).ToArray(Of Integer)())
Assert.AreEqual(Of OperationStatus)(OperationStatus.Success, accInfo.Status)
Dim info As AccountBalanceInformation
For Each info In custInfo.Result
Dim foundInfo As AccountBalanceInformation = accInfo.Result.Where(Of AccountBalanceInformation)(Function (ByVal x As AccountBalanceInformation)
Return (x.AccountCode = info.AccountCode)
End Function).FirstOrDefault(Of AccountBalanceInformation)()
Assert.IsNotNull(foundInfo)
Assert.AreEqual(Of Integer)(info.AccountID, foundInfo.AccountID)
Assert.AreEqual(Of String)(info.AccountType, foundInfo.AccountType)
Assert.AreEqual(Of Decimal)(info.Balance, foundInfo.Balance)
Assert.AreEqual(Of Decimal)(info.CreditLimit, foundInfo.CreditLimit)
Assert.AreEqual(Of Decimal)(info.OverCreditLimitBalance, foundInfo.OverCreditLimitBalance)
Next
End If