Hello expert, I need some help to pass a list of object and return it
1- Create data contract
[DataContract('Customers')]
class AHCustomerDataContract
{
AccountNum accountNum;
Name custName;
[DataMember('AccountNum')]
public AccountNum parmAccountNum(AccountNum _accountNum = accountNum)
{
accountNum = _accountNum;
return accountNum;
}
[DataMember('CustName')]
public Name parmCustName(Name _custName = custName)
{
custName = _custName;
return custName;
}
protected void new()
{
}
private static AHCustomerDataContract construct()
{
return new AHCustomerDataContract();
}
public static AHCustomerDataContract newFromTableRecord(CustTable _custTable)
{
AHCustomerDataContract contract = AHCustomerDataContract::construct();
contract.parmAccountNum(_custTable.AccountNum);
contract.parmCustName(_custTable.name());
return contract;
}
}
2- Create list data contract
[DataContractAttribute]
class AHCustomerListDataContract
{
List customerList;
protected void new()
{
customerList = new List(Types::Class);
}
public static AHCustomerListDataContract construct()
{
return new AHCustomerListDataContract();
}
public void addCustomerToList(AHCustomerDataContract _customerDataContract)
{
customerList.addEnd(_customerDataContract);
}
[DataMember,AifCollectionType('return',Types::Class,classStr(AHCustomerDataContract))
,AifCollectionType('_custList',Types::Class,classStr(AHCustomerDataContract))
]
public List parmCustomerList(List _custList = customerList)
{
customerList = _custList;
return customerList;
}
}
3- Create service class
[AifCollectionTypeAttribute('customerList',Types::Class,classStr(AHCustomerDataContract))]
public AHCustomerListDataContract getCustomerList(List customerList)
{
ListIterator iterator;
ListEnumerator enumerator;
ListIterator literator;
AHCustomerListDataContract customerListDataContract = AHCustomerListDataContract::construct();
AHCustomerDataContract customerContract;
enumerator = customerList.getEnumerator();
while(enumerator.moveNext())
{
customerContract = enumerator.current();
if(customerContract != null)
{
customerContract = AHCustomerDataContract::newFromTableRecord(CustTable::find(customerContract.parmAccountNum()));
customerListDataContract.addCustomerToList(customerContract);
}
}
return customerListDataContract;
}
4- consume the service in JSON
static void Main(string[] args)
{
GetCustomerList();
}
class AHContract
{
public string parmAccountNum { get; set; }
public string AccountNum { get; set; }
}
public static void GetCustomerList()
{
// In the AOT you will find UserSessionService in Service Groups and AifUserSessionService under Services.
string sessionUrl = "/api/services/AHServices/CustomerServices/getCustomerList";
string GetUserSessionOperationPath = string.Format("{0}{1}", ClientConfiguration.Default.UriString.TrimEnd('/'), sessionUrl);
var request = HttpWebRequest.Create(GetUserSessionOperationPath);
List custList = new List
{
new AHContract{AccountNum = "US-001"},
new AHContract{AccountNum = "US-003"}
};
var contract = new { customerList = custList };
string json = JsonConvert.SerializeObject(contract);
Byte[] byteArray = Encoding.UTF8.GetBytes(json);
request.Headers[OAuthHelper.OAuthHeader] = OAuthHelper.GetAuthenticationHeader(true);
request.Method = "POST";
request.ContentLength = byteArray.Length;
request.ContentType = "application/json";
using (var stream = request.GetRequestStream())
{
stream.Write(byteArray, 0, byteArray.Length);
}
using (var response = (HttpWebResponse)request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader streamReader = new StreamReader(responseStream))
{
string responseString = streamReader.ReadToEnd();
Console.WriteLine(responseString);
}
}
}
Console.ReadLine();
}
My problem is I get only the transaction related to customer US-003

Thank's in advance