示例#1
0
        /*
         * 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;
            }
        }
示例#2
0
 /// <inheritdoc />
 public Task <ApiResult <SalesOrderGetModel> > PostAsync(SalesOrderPostModel model, CancellationToken cancellationToken = default)
 {
     return(PostAsync <SalesOrderPostModel, SalesOrderGetModel>(model, cancellationToken));
 }