public static void DealWith302(XElement xElement, string path) { ReceiptSql sqlserver = null; MessageService msService = null; try { IEnumerable<XElement> eles = xElement.Elements().First().Elements(); string guid = eles.Where(e => e.Name.LocalName == "guid").First().Value; string orderNoFake = eles.Where(e => e.Name.LocalName == "orderNo").First().Value; string status = eles.Where(e => e.Name.LocalName == "returnStatus").First().Value; string returnTime = eles.Where(e => e.Name.LocalName == "returnTime").First().Value; string returnInfo = eles.Where(e => e.Name.LocalName == "returnInfo").First().Value; sqlserver = new ReceiptSql(); sqlserver.Operate302(orderNoFake, status, returnInfo); string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "302") + "\\" + FileUtilities.GetNewFileName(orderNoFake, status) + ".xml"; msService = new MessageService(); bool success = msService.DealMessage302(orderNoFake, guid, status, returnTime, returnInfo, destPath); if (!success) { destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUpError, "302") + "\\" + FileUtilities.GetNewFileName(orderNoFake, status) + ".xml"; } FileUtilities.FileMove(path, destPath); if (ConfigurationInfo.Need501 && status.Equals("120")) { CacheInfo info = MessageCache.GetCacheByKey("501" + orderNoFake); MessageCache.DeleteMessageCache("501" + orderNoFake); string logisticCode = null; if (info != null) { logisticCode = ((dynamic)info.value).LogisticCode; } else { logisticCode = msService.GetLogisticCodeByOrderNoFake(orderNoFake); } if (MessageControl.CheckNeedSendLogistics(logisticCode)) { MessageControl msControl = new MessageControl(); msControl.CreateMessage501(orderNoFake); } } } catch (Exception ex) { BackUpForError(path); Logs.Error("DealWith302 Exception: " + ex.ToString()); } }
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; }
public bool CreateMessage601(string logisticsNo) { bool success = true; InventoryHead inventoryHead = null; List<InventoryList> inventoryLists = null; BaseSubscribe baseSubscribe = null; XElement xele = null; XNamespace ns = null; MessageSql mssql = null; MessageService msService = null; try { inventoryHead = new InventoryHead(); inventoryLists = new List<InventoryList>(); baseSubscribe = new BaseSubscribe(); mssql = new MessageSql(); mssql.QueryDate601(logisticsNo, ref inventoryHead, ref inventoryLists, ref baseSubscribe); if (inventoryHead.guid != new Guid()) { ns = "http://www.chinaport.gov.cn/ceb"; xele = new XElement(ns + "CEB601Message"); xele.SetAttributeValue(XNamespace.Xmlns + "ceb", ns); xele = inventoryHead.ToXElememt(xele, ns); foreach (var a in inventoryLists) { xele = a.ToXElememt(xele, ns); } xele = baseSubscribe.ToXElememt(xele, ns); FileUtilities.CreateFolder(ConfigurationInfo.PathSend); xele.Save(ConfigurationInfo.PathSend + "\\" + FileUtilities.GetNewFileName(inventoryHead.orderNo) + "_601.xml"); string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "601") + "\\" + FileUtilities.GetNewFileName(inventoryHead.orderNo, "Create") + ".xml"; msService = new MessageService(); msService.DealMessage601(false, true, inventoryHead.guid.ToString(), inventoryHead.copNo, destPath); xele.Save(destPath); } else { Logs.Info("Does not exist in database:" + logisticsNo); success = false; } } catch (Exception ex) { Logs.Error("Create301Message Exception:" + ex.ToString()); success = false; } return success; }
public bool CreateMessage503R(string logisticsNo) { bool success = true; LogisticsStatus logisticsStatus = null; MessageSql mssql = null; MessageService msService = null; XElement xele = null; XNamespace ns = null; try { mssql = new MessageSql(); logisticsStatus = new LogisticsStatus(); mssql.QueryData503ByLogisticsNo(logisticsNo, ref logisticsStatus); if (logisticsStatus.guid != new Guid()) { string url = GetRequestHostByCode(logisticsStatus.logisticsCode); RestRequest restRequest = new RestRequest(string.Format("{0}:{1}/Logistics/Create503", url, ConfigurationInfo.RestPort), Utilities.JsonSerialize(logisticsStatus)); success = Convert.ToBoolean(restRequest.Execute()); } else { success = false; } if (success) { mssql.UpdateSchedule503(null, logisticsNo); ns = "http://www.chinaport.gov.cn/ceb"; xele = new XElement(ns + "CEB503Message"); xele.SetAttributeValue(XNamespace.Xmlns + "ceb", ns); xele = logisticsStatus.ToXElememt(xele, ns); string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "503") + "\\" + FileUtilities.GetNewFileName(logisticsNo, "Create", "R") + ".xml"; xele.Save(destPath); msService = new MessageService(); msService.DealMessage503(false, true, logisticsStatus.guid.ToString(), logisticsNo, destPath, "R"); } else { success = false; Logs.Info("CreateMessage503R Response Error! Date:" + Utilities.JsonSerialize(logisticsStatus)); } } catch (Exception ex) { success = false; Logs.Error("CreateMessage503R Exception: " + ex.ToString()); } return success; }
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 static void DealWith501(XElement xElement, string path) { ReceiptSql sqlserver = null; MessageService msService = null; try { IEnumerable<XElement> eles = xElement.Elements().First().Elements(); string guid = eles.Where(e => e.Name.LocalName == "guid").First().Value; string billNo = eles.Where(e => e.Name.LocalName == "billNo").First().Value; string orderNoFake = eles.Where(e => e.Name.LocalName == "orderNo").First().Value; string logisticsNo = eles.Where(e => e.Name.LocalName == "logisticsNo").First().Value; string weigth = eles.Where(e => e.Name.LocalName == "weight").First().Value; string freight = eles.Where(e => e.Name.LocalName == "freight").First().Value; string logisticsCode = eles.Where(e => e.Name.LocalName == "logisticsCode").First().Value; if (!MessageControl.CheckNeedSendLogistics(logisticsCode)) { sqlserver = new ReceiptSql(); sqlserver.Operate501(orderNoFake, billNo, weigth, freight); string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "501") + "\\" + FileUtilities.GetNewFileName(orderNoFake) + ".xml"; msService = new MessageService(); bool success = msService.DealMessage501(true, false, guid, orderNoFake, logisticsNo, destPath); if (!success) { destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUpError, "501") + "\\" + FileUtilities.GetNewFileName(orderNoFake) + ".xml"; } CacheInfo cache601 = CacheInfo.SetCacheInfo("601", Utilities.SetArrayList(logisticsNo, logisticsCode)); cache601.createTime = DateTime.Now.AddMinutes(1); MessageCache.AddMessageCache("601_" + logisticsNo, cache601); FileUtilities.FileMove(path, destPath); } } catch (Exception ex) { BackUpForError(path); Logs.Error("DealWith501 Exception: " + ex.ToString()); } }
public static void DealWith602(XElement xElement, string path) { ReceiptSql sqlserver = null; MessageService msService = null; try { IEnumerable<XElement> eles = xElement.Elements().First().Elements(); string guid = eles.Where(e => e.Name.LocalName == "guid").First().Value; string copNo = eles.Where(e => e.Name.LocalName == "copNo").First().Value; string preNo = null; string status = eles.Where(e => e.Name.LocalName == "returnStatus").First().Value; string returnTime = eles.Where(e => e.Name.LocalName == "returnTime").First().Value; string returnInfo = eles.Where(e => e.Name.LocalName == "returnInfo").First().Value; switch (status) { case "-9999": preNo = ""; break; case "800": preNo = eles.Where(e => e.Name.LocalName == "preNo").First().Value; if (ConfigurationInfo.Need501) { MessageControl msControl = new MessageControl(); msControl.CreateMessage503L(copNo); } break; default: preNo = eles.Where(e => e.Name.LocalName == "preNo").First().Value; break; } sqlserver = new ReceiptSql(); sqlserver.Operate602(copNo, preNo, status); string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "602") + "\\" + FileUtilities.GetNewFileName(copNo, status) + ".xml"; msService = new MessageService(); msService.DealMessage602(copNo, guid, status, returnTime, returnInfo, destPath); FileUtilities.FileMove(path, destPath); } catch (Exception ex) { BackUpForError(path); Logs.Error("DealWith602 Exception: " + ex.ToString()); } }
public static void DealWith601(XElement xElement, string path) { MessageService msService = null; try { IEnumerable<XElement> eles = xElement.Elements().First().Elements(); string guid = eles.Where(e => e.Name.LocalName == "guid").First().Value; string orderNoFake = eles.Where(e => e.Name.LocalName == "orderNo").First().Value; string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "601") + "\\" + FileUtilities.GetNewFileName(orderNoFake) + ".xml"; msService = new MessageService(); msService.DealMessage601(true, false, guid, orderNoFake, destPath); FileUtilities.FileMove(path, destPath); } catch (Exception ex) { BackUpForError(path); Logs.Error("DealWith601 Exception: " + ex.ToString()); } }
public static void DealWith504(XElement xElement, string path) { MessageService msService = null; try { IEnumerable<XElement> eles = xElement.Elements().First().Elements(); string guid = eles.Where(e => e.Name.LocalName == "guid").First().Value; string logisticsNo = eles.Where(e => e.Name.LocalName == "logisticsNo").First().Value; string status = eles.Where(e => e.Name.LocalName == "returnStatus").First().Value; string returnTime = eles.Where(e => e.Name.LocalName == "returnTime").First().Value; string returnInfo = eles.Where(e => e.Name.LocalName == "returnInfo").First().Value; string logisticsStatus = eles.Where(e => e.Name.LocalName == "logisticsStatus").First().Value; if (logisticsStatus.Equals("R", StringComparison.CurrentCultureIgnoreCase) && status.Equals("120")) { MessageCache601.RemoveCache(logisticsNo); MessageControl control = new MessageControl(); control.CreateMessage601(logisticsNo); } string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "504") + "\\" + FileUtilities.GetNewFileName(logisticsNo, status, logisticsStatus) + ".xml"; msService = new MessageService(); msService.DealMessage504(logisticsNo, guid, status, logisticsStatus, returnTime, returnInfo, destPath); FileUtilities.FileMove(path, destPath); } catch (Exception ex) { Logs.Error("DealWith503 Exception: " + ex.ToString()); } }
public static void DealWith503(XElement xElement, string path) { MessageService msService = null; try { IEnumerable<XElement> eles = xElement.Elements().First().Elements(); string guid = eles.Where(e => e.Name.LocalName == "guid").First().Value; string logisticsNo = eles.Where(e => e.Name.LocalName == "logisticsNo").First().Value; string logisticsStatus = eles.Where(e => e.Name.LocalName == "logisticsStatus").First().Value; string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "503") + "\\" + FileUtilities.GetNewFileName(logisticsNo) + ".xml"; msService = new MessageService(); msService.DealMessage503(true, false, guid, logisticsNo, destPath, logisticsStatus); FileUtilities.FileMove(path, destPath); } catch (Exception ex) { Logs.Error("DealWith503 Exception: " + ex.ToString()); } }
public static void DealWith502(XElement xElement, string path) { ReceiptSql sqlserver = null; MessageService msService = null; try { IEnumerable<XElement> eles = xElement.Elements().First().Elements(); string guid = eles.Where(e => e.Name.LocalName == "guid").First().Value; string logisticsNo = eles.Where(e => e.Name.LocalName == "logisticsNo").First().Value; string status = eles.Where(e => e.Name.LocalName == "returnStatus").First().Value; string returnTime = eles.Where(e => e.Name.LocalName == "returnTime").First().Value; string returnInfo = eles.Where(e => e.Name.LocalName == "returnInfo").First().Value; string logisticsCode = eles.Where(e => e.Name.LocalName == "logisticsCode").First().Value; sqlserver = new ReceiptSql(); sqlserver.Operate502(logisticsNo, status, returnInfo); string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "502") + "\\" + FileUtilities.GetNewFileName(logisticsNo, status) + ".xml"; msService = new MessageService(); bool success = msService.DealMessage502(logisticsNo, guid, status, returnTime, returnInfo, destPath); if (!success) { destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUpError, "502") + "\\" + FileUtilities.GetNewFileName(logisticsNo, status) + ".xml"; } FileUtilities.FileMove(path, destPath); if (MessageControl.CheckNeedSendLogistics(logisticsCode) && status.Equals("120")) { MessageCache.DeleteMessageCache("503R" + logisticsNo); MessageControl msControl = new MessageControl(); msControl.CreateMessage503R(logisticsNo); } } catch (Exception ex) { Logs.Error("DealWith502 Exception: " + ex.ToString()); } }