/* * PostFreightLines * Post the freight line to the specified sales order with the SYSPRO WCF library */ public void CreateSalesOrder(SalesOrderModel salesOrderModel) { try { LogonToSYSPRO(); StringBuilder sXmlIn = new StringBuilder(); sXmlIn.Append("<SalesOrders><Orders>"); sXmlIn.Append("<OrderHeader>"); sXmlIn.Append("<Customer>" + salesOrderModel.Customer + "</Customer>"); sXmlIn.Append("<CustomerPoNumber>" + salesOrderModel.CustomerPoNumber + "</CustomerPoNumber>"); sXmlIn.Append("</OrderHeader>"); sXmlIn.Append("<OrderDetails>"); foreach (SalesOrderLine line in salesOrderModel.lines) { sXmlIn.Append("<StockLine>"); sXmlIn.Append("<CustomerPoLine>" + line.CustomerPoLine + "</CustomerPoLine>"); sXmlIn.Append("<StockCode>" + line.StockCode + "</StockCode>"); sXmlIn.Append("<OrderQty>" + line.OrderQty + "</OrderQty>"); sXmlIn.Append("<OrderUom>EA</OrderUom>"); sXmlIn.Append("</StockLine>"); } sXmlIn.Append("</OrderDetails>"); sXmlIn.Append("</Orders></SalesOrders>"); _xmlOutput = _client.TransactionPost(_sysproGuid, "SORTOI", CreateXMLParams(), sXmlIn.ToString()); XmlDocument doc = GetSysproOutputDoc(_xmlOutput); SalesOrderPostModel postModel = new SalesOrderPostModel(); XmlNode salesOrderNode = doc.SelectSingleNode("//SalesOrder"); if (salesOrderNode != null) { postModel.SalesOrderNumber = salesOrderNode.InnerText; } LogoffOfSYSPRO(); } catch (Exception ex) { if (_client != null) { LogoffOfSYSPRO(); } throw ex; } }
/// <inheritdoc /> public Task <ApiResult <SalesOrderGetModel> > PostAsync(SalesOrderPostModel model, CancellationToken cancellationToken = default) { return(PostAsync <SalesOrderPostModel, SalesOrderGetModel>(model, cancellationToken)); }