private string GetOrderData(Order order)
{
MemoryStream stream = new MemoryStream();
XmlWriterSettings setting = new XmlWriterSettings();
setting.Encoding = new UTF8Encoding(true);
setting.Indent = true;
using (XmlWriter writer = XmlWriter.Create(stream, setting))
{
writer.WriteStartElement("orders");
writer.WriteStartElement("order");
CreateXmlElement(writer, "barcode", order.BarCode);
CreateXmlElement(writer, "customercode", System.Web.HttpUtility.UrlEncode(Properties.Settings.Default.UserCode, Encoding.UTF8));
CreateXmlElement(writer, "vipcode", Properties.Settings.Default.VipCode);
CreateXmlElement(writer, "clcttype", ((int)order.ClctType).ToString());
CreateXmlElement(writer, "enddate", order.EndDate.ToString("yyyy-MM-ddTHH:mm:ss"));
CreateXmlElement(writer, "operationtype", ((int)order.OperationType).ToString());
CreateXmlElement(writer, "orderid", order.OrderID);
CreateXmlElement(writer, "pod", JSON.GTA.DisplayHelper.GetDisplayName(order.Pod));
CreateXmlElement(writer, "printcode", JSON.GTA.DisplayHelper.GetDisplayName(order.PrintCode));
CreateXmlElement(writer, "producttype", ((int)order.ProductType).ToString());
CreateXmlElement(writer, "reamrk", order.remark);
CreateXmlElement(writer, "sku1", order.sku1);
CreateXmlElement(writer, "sku2", order.sku2);
CreateXmlElement(writer, "startdate", order.StartDate.ToString("yyyy-MM-ddTHH:mm:ss"));
CreateXmlElement(writer, "untread", JSON.GTA.DisplayHelper.GetDisplayName(order.Untread));
foreach (var product in order.ContainProduct)
{
writer.WriteStartElement("item");
CreateXmlElement(writer, "cnname", product.CnName);
CreateXmlElement(writer, "enname", product.EnName);
CreateXmlElement(writer, "count", product.Count.ToString());
CreateXmlElement(writer, "weight", product.Weigth.ToString());
CreateXmlElement(writer, "delcarevalue", product.DelcareValue.ToString());
CreateXmlElement(writer, "origin", "CN");
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
}
string xml = Encoding.UTF8.GetString(stream.ToArray());
return xml.Substring(xml.IndexOf('<'));
}
private void CreateXmlElement(XmlWriter writer, string name, string value)
{
if (!string.IsNullOrWhiteSpace(value))
{
writer.WriteElementString(name, value);
}
}
{
MemoryStream stream = new MemoryStream();
XmlWriterSettings setting = new XmlWriterSettings();
setting.Encoding = new UTF8Encoding(true);
setting.Indent = true;
using (XmlWriter writer = XmlWriter.Create(stream, setting))
{
writer.WriteStartElement("orders");
writer.WriteStartElement("order");
CreateXmlElement(writer, "barcode", order.BarCode);
CreateXmlElement(writer, "customercode", System.Web.HttpUtility.UrlEncode(Properties.Settings.Default.UserCode, Encoding.UTF8));
CreateXmlElement(writer, "vipcode", Properties.Settings.Default.VipCode);
CreateXmlElement(writer, "clcttype", ((int)order.ClctType).ToString());
CreateXmlElement(writer, "enddate", order.EndDate.ToString("yyyy-MM-ddTHH:mm:ss"));
CreateXmlElement(writer, "operationtype", ((int)order.OperationType).ToString());
CreateXmlElement(writer, "orderid", order.OrderID);
CreateXmlElement(writer, "pod", JSON.GTA.DisplayHelper.GetDisplayName(order.Pod));
CreateXmlElement(writer, "printcode", JSON.GTA.DisplayHelper.GetDisplayName(order.PrintCode));
CreateXmlElement(writer, "producttype", ((int)order.ProductType).ToString());
CreateXmlElement(writer, "reamrk", order.remark);
CreateXmlElement(writer, "sku1", order.sku1);
CreateXmlElement(writer, "sku2", order.sku2);
CreateXmlElement(writer, "startdate", order.StartDate.ToString("yyyy-MM-ddTHH:mm:ss"));
CreateXmlElement(writer, "untread", JSON.GTA.DisplayHelper.GetDisplayName(order.Untread));
CreateXmlElement(writer, "volweight", order.VolWeigth.ToString());
foreach (var product in order.ContainProduct)
{
writer.WriteStartElement("item");
CreateXmlElement(writer, "cnname", product.CnName);
CreateXmlElement(writer, "enname", product.EnName);
CreateXmlElement(writer, "count", product.Count.ToString());
CreateXmlElement(writer, "weight", product.Weigth.ToString());
CreateXmlElement(writer, "delcarevalue", product.DelcareValue.ToString());
CreateXmlElement(writer, "origin", "CN");
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
}
string xml = Encoding.UTF8.GetString(stream.ToArray());
return xml.Substring(xml.IndexOf('<'));
}
private void CreateXmlElement(XmlWriter writer, string name, string value)
{
if (!string.IsNullOrWhiteSpace(value))
{
writer.WriteElementString(name, value);
}
}