示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }