This is SalesLine Class
[DataContractAttribute]
public class EDISalesOrderLineContract
{
str _SalesOrderNumber;
str _ItemNumber;
int _OrderedSalesQuantity;
str _ShippingSiteId;
str _ShippingWarehouseId;
[DataMemberAttribute]
public str SalesOrderNumber( str Value = _SalesOrderNumber)
{
_SalesOrderNumber = Value;
return _SalesOrderNumber;
}
[DataMemberAttribute]
public str ItemNumber( str Value = _ItemNumber)
{
_ItemNumber = Value;
return _ItemNumber;
}
[DataMemberAttribute]
public int OrderedSalesQuantity( int Value = _OrderedSalesQuantity)
{
_OrderedSalesQuantity = Value;
return _OrderedSalesQuantity;
}
[DataMemberAttribute]
public str ShippingSiteId( str Value = _ShippingSiteId)
{
_ShippingSiteId = Value;
return _ShippingSiteId;
}
[DataMemberAttribute]
public str ShippingWarehouseId( str Value = _ShippingWarehouseId)
{
_ShippingWarehouseId = Value;
return _ShippingWarehouseId;
}
}
This is My Header Class
using System.Collections;
[DataContractAttribute]
public class EDISalesOrderDataContract
{
str _SalesOrderNumber;
str _CurrencyCode;
str _InvoiceCustomerAccountNumber;
str _OrderingCustomerAccountNumber;
str _LanguageId;
str _DataAreaId;
List SalesLines;
[DataMemberAttribute]
public str ParmSalesOrderNumber( str Value = _SalesOrderNumber)
{
_SalesOrderNumber = Value;
return _SalesOrderNumber;
}
[DataMemberAttribute]
public str ParmCurrencyCode( str Value = _CurrencyCode)
{
_CurrencyCode = Value;
return _CurrencyCode;
}
[DataMemberAttribute]
public str ParmInvoiceCustomerAccountNumber( str Value = _InvoiceCustomerAccountNumber)
{
_InvoiceCustomerAccountNumber = Value;
return _InvoiceCustomerAccountNumber;
}
[DataMemberAttribute]
public str ParmOrderingCustomerAccountNumber( str Value = _OrderingCustomerAccountNumber)
{
_OrderingCustomerAccountNumber = Value;
return _OrderingCustomerAccountNumber;
}
[DataMemberAttribute]
public str ParmLanguageId( str Value = _LanguageId)
{
_LanguageId = Value;
return _LanguageId;
}
[DataMemberAttribute]
public str ParmDataAreaId( str Value = _DataAreaId)
{
_DataAreaId = Value;
return _DataAreaId;
}
[DataMemberAttribute]//,
AifCollectionTypeAttribute(Types::Class, classStr(EDISalesOrderLineContract))]
AifCollectionTypeAttribute("return",Types::Class, classStr(EDISalesOrderLineContract))]
public List SalesLines( List Value = SalesLines)
{
SalesLines = Value;
return SalesLines;
}
}
====================================================
This is my service code
public str Create(EDISalesOrderDataContract _SalesOrder)
{
str ret = strFmt("%1-%2-%3-%4-%5",_SalesOrder.ParmSalesOrderNumber(),_SalesOrder.ParmOrderingCustomerAccountNumber(),
SalesOrder.ParmInvoiceCustomerAccountNumber(), SalesOrder.ParmCurrencyCode(), _SalesOrder.ParmDataAreaId());
try
{
AxSalesTable stc = new AxSalesTable();
AxSalesLine slc = new AxSalesLine();
EDISalesOrderLineContract sl;
stc.parmCurrencyCode(_SalesOrder.ParmCurrencyCode());
stc.parmInvoiceAccount(_SalesOrder.ParmInvoiceCustomerAccountNumber());
stc.custAccount_CustTableRecord(CustTable::find(_SalesOrder.ParmOrderingCustomerAccountNumber()));
stc.parmLanguageId(_SalesOrder.ParmLanguageId());
stc.Save();
ret = stc.parmSalesId();
List SLListTemp;// = new List(Types::Class);
SLListTemp = _SalesOrder.SalesLines();
ListIterator iterator = new ListIterator(SLListTemp);
while(iterator.more())
{
InventDim inventDim;
sl = iterator.value();
InventDim.inventSiteId = sl.ShippingSiteId();
InventDim.InventLocationId = sl.ShippingWarehouseId();
slc.parmSalesId(stc.parmSalesId());
slc.parmItemId(sl.ItemNumber());
slc.parmQtyOrdered(sl.OrderedSalesQuantity());
slc.parmInventDimId(InventDim::findOrCreate(InventDim).inventDimId);
slc.save();
ret = strFmt(";%1-%2-%3", ret, sl.ItemNumber(), sl.OrderedSalesQuantity());
iterator.next();
}
return ret;
//return stc.parmSalesId();
}
catch
{
//return "Error aa gya";
ret = strFmt("Error aa gya bhai - %1",ret);
return ret;
}
}
-----------------------------