public bool CreateMessage501(string orderNoFake) { bool success = true; LogisticsHead logisticsHead = null; MessageSql mssql = null; MessageService msService = null; XElement xele = null; XNamespace ns = null; try { mssql = new MessageSql(); logisticsHead = new LogisticsHead(); mssql.QueryData501(orderNoFake, ref logisticsHead); if (logisticsHead.guid != new Guid()) { string url = GetRequestHostByCode(logisticsHead.logisticsCode); RestRequest restRequest = new RestRequest(string.Format("{0}:{1}/Logistics/Create501", url, ConfigurationInfo.RestPort), Utilities.JsonSerialize(logisticsHead)); success = Convert.ToBoolean(restRequest.Execute()); } else { success = false; } if (success) { mssql.UpdateSchedule501(orderNoFake, logisticsHead.billNo, logisticsHead.weight.ToString(), logisticsHead.freight.ToString()); ns = "http://www.chinaport.gov.cn/ceb"; xele = new XElement(ns + "CEB501Message"); xele.SetAttributeValue(XNamespace.Xmlns + "ceb", ns); xele = logisticsHead.ToXElememt(xele, ns); string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "501") + "\\" + FileUtilities.GetNewFileName(orderNoFake, "Create") + ".xml"; xele.Save(destPath); msService = new MessageService(); msService.DealMessage501(false, true, logisticsHead.guid.ToString(), orderNoFake, logisticsHead.logisticsNo, destPath); } else { Logs.Info("Create501Message Response Error! Date:" + Utilities.JsonSerialize(logisticsHead)); } } catch (Exception ex) { success = false; Logs.Error("Create501Message Exception: " + ex.ToString()); } finally { if (!success) { MessageCache.DeleteMessageCache("503R" + logisticsHead.logisticsNo); MessageCache.DeleteMessageCache("601" + logisticsHead.logisticsNo); } } return(success); }
public bool CreateMessage301(string orderNo) { bool success = true; OrderHead orderHead = null; List <OrderList> orderLists = null; XElement xele = null; XNamespace ns = null; MessageSql mssql = null; string logisticsNo = null; string logisticsCode = null; MessageService msService = null; try { orderHead = new OrderHead(); orderLists = new List <OrderList>(); mssql = new MessageSql(); mssql.QueryData301(orderNo, ref orderHead, ref orderLists, ref logisticsNo, ref logisticsCode); if (orderHead.guid != new Guid()) { ns = "http://www.chinaport.gov.cn/ceb"; xele = new XElement(ns + "CEB301Message"); xele.SetAttributeValue(XNamespace.Xmlns + "ceb", ns); xele = orderHead.ToXElememt(xele, ns); foreach (var a in orderLists) { xele = a.ToXElememt(xele, ns); } FileUtilities.CreateFolder(ConfigurationInfo.PathSend); string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "301") + "\\" + FileUtilities.GetNewFileName(orderNo) + ".xml"; msService = new MessageService(); success = msService.DealMessage301(orderNo, orderHead.orderNo, logisticsNo, false, true, orderHead.guid.ToString(), destPath, logisticsCode); if (!success) { destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUpError, "301") + "\\" + FileUtilities.GetNewFileName(orderNo) + ".xml"; } xele.Save(ConfigurationInfo.PathSend + "\\" + FileUtilities.GetNewFileName(orderNo) + ".xml"); xele.Save(destPath); if (CheckNeedSendLogistics(logisticsCode)) { MessageCache.AddMessageCache("501_" + orderHead.orderNo, CacheInfo.SetCacheInfo("501", Utilities.SetArrayList(orderHead.orderNo, logisticsCode))); CacheInfo cache503R = CacheInfo.SetCacheInfo("503R", Utilities.SetArrayList(logisticsNo, logisticsCode)); cache503R.createTime = DateTime.Now.AddMinutes(1); MessageCache.AddMessageCache("503R_" + logisticsNo, cache503R); CacheInfo cache601 = CacheInfo.SetCacheInfo("601", Utilities.SetArrayList(logisticsNo, logisticsCode)); cache601.createTime = DateTime.Now.AddMinutes(2); MessageCache.AddMessageCache("601_" + logisticsNo, cache601); } } else { Logs.Info("Does not exist in database: " + orderNo); success = false; } } catch (Exception ex) { Logs.Error("Create301Message Exception:" + ex.ToString()); success = false; } return(success); }