public bool Convert2Model(out List <ExOrder> orderList) { orderList = new List <ExOrder>(); XmlDocument doc = new XmlDocument(); doc.Load(FilePath); foreach (XmlNode nodeOrder in doc.SelectNodes("Orders/Order")) { ExOrder objOrder = new ExOrder() { OrderNo = nodeOrder.Attributes["orderNo"].Value, CustomerName = nodeOrder.Attributes["customerName"].Value, CustomerPhone = nodeOrder.Attributes["customerPhone"].Value, CustomerAddress = nodeOrder.Attributes["customerAddress"].Value, OrderDate = Convert.ToDateTime(nodeOrder.Attributes["orderDate"].Value), DeliveryDate = Convert.ToDateTime(nodeOrder.Attributes["deliveryDate"].Value), Remarks = nodeOrder.Attributes["remarks"].Value, ItemList = new List <ExOrderItem>() }; foreach (XmlNode nodeProduct in nodeOrder.SelectNodes("Product")) { string str = nodeProduct.Attributes["size"].Value; double length = Convert.ToDouble(str.Split('*')[0]); double width = Convert.ToDouble(str.Split('*')[1]); double height = Convert.ToDouble(str.Split('*')[2]); string remark = $"{nodeProduct.Attributes["grain"].Value}/{nodeProduct.Attributes["color"].Value}/{nodeProduct.Attributes["color"].Value}/{nodeProduct.Attributes["grain"].Value}/{nodeProduct.Attributes["grain"].Value}/{nodeProduct.Attributes["grain"].Value}"; ExOrderItem objItem = new ExOrderItem() { ProductName = nodeProduct.Attributes["name"].Value, ProductType = nodeProduct.Attributes["type"].Value, ProductCode = nodeProduct.Attributes["code"].Value, Model = nodeProduct.Attributes["model"].Value, ModelSource = "File", Length = length, Width = width, Height = height, Count = Convert.ToInt32(nodeProduct.Attributes["count"].Value), ProductDec = new StringBuilder(nodeProduct.OuterXml), ProductNode = nodeProduct, Remarks = remark }; objOrder.ItemList.Add(objItem); } orderList.Add(objOrder); } return(true); }
public int AddOrderItem(ExOrderItem objItem, int order_id, int orderType, int productType) { int item_id = RemoteCall.GetNextID(_reqSession, "Item_Id"); string url = "/caxa/multipart_order_item"; NameValueCollection valuePairs = new NameValueCollection(); valuePairs.Add("item_id", item_id.ToString()); valuePairs.Add("order_id", order_id.ToString()); valuePairs.Add("model_name", objItem.Model); valuePairs.Add("amount", objItem.Count.ToString()); valuePairs.Add("length", objItem.Length.ToString()); valuePairs.Add("width", objItem.Width.ToString()); valuePairs.Add("height", objItem.Height.ToString()); valuePairs.Add("item_memo", objItem.Remarks); valuePairs.Add("productname", objItem.ProductName); valuePairs.Add("ordertype", orderType.ToString()); //订单类型:料单 valuePairs.Add("product_type_id", productType.ToString()); //产品类型ID string response = ""; if (orderType == 1002)//料单需要上传产品描述 { valuePairs.Add("attachment", "File:1"); NameValueCollection files = new NameValueCollection(); string tempFile = Path.GetTempFileName(); XmlDocument doc = new XmlDocument(); XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", "yes"); doc.AppendChild(dec); XmlNode nodeProduct = doc.ImportNode(objItem.ProductNode, true); doc.AppendChild(nodeProduct); doc.Save(tempFile); files.Add("部件信息", tempFile); response = RemoteCall.PostMultipartRequest(_reqSession, url, valuePairs, files); } else { valuePairs.Add("attachment", "File:0"); response = RemoteCall.PostMultipartRequest(_reqSession, url, valuePairs); } JObject jResult = JObject.Parse(response); if ((int)jResult["result_code"] > 0) { return(item_id); } else { return(0); } }