using KGIS.Framework.Utils; using Kingo.Plugin.DTBJKLoadData.Model; using System; using System.Collections.Generic; using System.Xml.Linq; namespace Kingo.Plugin.DTBJKLoadData { public class DTBJKLoadData { public static DTBJKLoadData_Default GetDefaultType() { DTBJKLoadData_Default dTBJKLoadData = null; try { GetMatchingRegionMapping(); dTBJKLoadData = new DTBJKLoadData_Default(); string SDM = KGIS.Framework.Utils.SysConfigsOprator.GetAppsetingValueByKey("ArearName"); switch (SDM) { case "14": dTBJKLoadData = new DTBJKLoadData_14(); break; case "61": dTBJKLoadData = new DTBJKLoadData_61(); break; } } catch (Exception ex) { LogAPI.Debug($"DTBJKLoadData_Default 异常:{ex.Message}"); LogAPI.Debug($"DTBJKLoadData_Default 异常:{ex.StackTrace}"); } return dTBJKLoadData; } public static List matchingRegion = new List(); private static List GetMatchingRegionMapping() { try { matchingRegion.Clear(); string SDM = KGIS.Framework.Utils.SysConfigsOprator.GetAppsetingValueByKey("ArearName"); string matchingRegionFilePath = System.IO.Path.Combine(SysAppPath.GetConfigPath(), "MatchingRegionConfigs.xml"); XDocument pXDoc = XDocument.Load(matchingRegionFilePath); var elements = pXDoc.Element("MatchingRegion").Elements(); foreach (XElement item in elements) { if (!string.IsNullOrEmpty(SDM) && item.Attribute("Code").Value.Equals(SDM)) { var element = item.Elements(); foreach (XElement xElement in element) { MatchingRegionMapping mapping = new MatchingRegionMapping(); mapping.Name = xElement.Attribute("Name").Value; mapping.PropertyName = xElement.Attribute("PropertyName").Value; mapping.Order = xElement.Attribute("Order").Value.ToSafeInt(); matchingRegion.Add(mapping); } } } if (matchingRegion.Count == 0) { SDM = "00"; foreach (XElement item in elements) { if (!string.IsNullOrEmpty(SDM) && item.Attribute("Code").Value.Equals(SDM)) { var element = item.Elements(); foreach (XElement xElement in element) { MatchingRegionMapping mapping = new MatchingRegionMapping(); mapping.Name = xElement.Attribute("Name").Value; mapping.PropertyName = xElement.Attribute("PropertyName").Value; mapping.Order = xElement.Attribute("Order").Value.ToSafeInt(); matchingRegion.Add(mapping); } } } } } catch (Exception ex) { LogAPI.Debug("GetMatchingRegionMapping异常:" + ex.Message); LogAPI.Debug("GetMatchingRegionMapping异常:" + ex.StackTrace); } return matchingRegion; } } }