| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using Aitex.Core.UI.MVVM;
 
- using Aitex.Core.RT.Log;
 
- using System.Xml;
 
- using Aitex.Core.RT.ConfigCenter;
 
- namespace Aitex.Core.UI.View.Common
 
- {
 
-     public class ParameterViewModel : ViewModelBase
 
-     {
 
-         public ParameterViewModel()
 
-         {
 
-         }
 
-         protected virtual string GetConfigXmlContent()
 
-         {
 
-             return "";
 
-         }
 
-         public virtual bool SaveConfigSection(string groupName, List<ConfigEntry> lstEntry)
 
-         {
 
-             return false;
 
-         }
 
-         //description, navigation, sectionPath
 
-         public List<KeyValuePair<string, string>> GetSectionList()
 
-         {
 
-             List<KeyValuePair<string, string>> result = new List<KeyValuePair<string, string>>();
 
-             string xmlContent = GetConfigXmlContent();
 
-             if (string.IsNullOrEmpty(xmlContent))
 
-             {
 
-                 LOG.Error("没有读取到SC配置文件");
 
-                 return result;
 
-             }
 
-             XmlDocument doc = new XmlDocument();
 
-             doc.LoadXml(xmlContent);
 
-             XmlNodeList lst = doc.SelectSingleNode("/SCData").ChildNodes;
 
-             foreach (XmlElement node in lst)
 
-             {
 
-                 result.Add(new KeyValuePair<string, string>(GetNodeText(node, "Description"), string.Format("/SCData/Section[@Name='{0}']", GetNodeText(node, "Name"))));
 
-             }
 
-             return result;
 
-         }
 
-         public List<ConfigEntry> GetConfigEntries(string sectionPath)
 
-         {
 
-             List<ConfigEntry> result = new List<ConfigEntry>();
 
-             string xmlContent = GetConfigXmlContent();
 
-             if (string.IsNullOrEmpty(xmlContent))
 
-             {
 
-                 LOG.Error("没有读取到SC配置文件");
 
-                 return result;
 
-             }
 
-             XmlDocument doc = new XmlDocument();
 
-             doc.LoadXml(xmlContent);
 
-             XmlNode parentNode = doc.SelectSingleNode(sectionPath);
 
-             XmlNodeList lstNode = parentNode.ChildNodes;
 
-             foreach (XmlNode node in lstNode)
 
-             {
 
-                 try
 
-                 {
 
-                     result.Add(new ConfigEntry()
 
-                     {
 
-                         EntryName = GetNodeText(node, "Name"),
 
-                         SectionName = GetNodeText(node, "Name"),
 
-                          Description = GetNodeText(node, "Description"),
 
-                         Type = GetNodeText(node, "Type"),
 
-                         Default = GetNodeText(node, "Default"),
 
-                         RangeLowLimit = GetNodeText(node, "RangeLowLimit"),
 
-                         RangeUpLimit = GetNodeText(node, "RangeUpLimit"),
 
-                         SystemType = GetNodeText(parentNode, "Name"),
 
-                         Unit = GetNodeText(node, "Unit"),
 
-                         Value = ((string.IsNullOrEmpty(GetNodeText(node, "Type")) || GetNodeText(node, "Type") == "Double") ?
 
-                                 Math.Round(Convert.ToDouble(GetNodeText(node, "Value")), 3).ToString() : GetNodeText(node, "Value")),
 
-                         XPath = string.Format("{0}/{1}", sectionPath, node.Name),
 
-                     });
 
-                 }
 
-                 catch (Exception ex)
 
-                 {
 
-                     LOG.Error("SC配置项错误," + node.Name, ex);
 
-                 }
 
-             }
 
-             return result;
 
-         }
 
-         string GetNodeText(XmlNode parent, string child, string defaultValue = "")
 
-         {
 
-             return (parent.Attributes[child] == null) ? defaultValue : parent.Attributes[child].Value;
 
-         }
 
-     }
 
- }
 
 
  |