GlobalVariable.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Xml;
  7. namespace Common
  8. {
  9. public class GlobalVariable
  10. {
  11. public GlobalVariable()
  12. {
  13. }
  14. public static readonly GlobalVariable Instance = new GlobalVariable();
  15. /// <summary>
  16. /// 主界面最小化时隐藏
  17. /// </summary>
  18. public bool HideMainFormOnMinimizedTag = false;
  19. public string MyToken{ get; set; }
  20. /// <summary>
  21. /// 当前用户id
  22. /// </summary>
  23. public string CurrentUserId { get; set; }
  24. /// <summary>
  25. /// 当前用户Name
  26. /// </summary>
  27. public string CurrentUserName { get; set; }
  28. public string successString = "suceess";
  29. /// <summary>
  30. /// 系统名称
  31. /// </summary>
  32. public string SystemName = "酒钢智能计量系统客户端";
  33. public string InitPassword = "init";
  34. public string ServerIp = "10.1.213.213";
  35. /// <summary>
  36. /// 更新程序名称
  37. /// </summary>
  38. public string ApplicationStart = "CarMeterSystem.exe";
  39. public string ReleaseFileName = "ReleaseList.xml";
  40. public string ReleaseURL = "http://10.129.1.210/pikaServices/ZNZD";
  41. public string LocalPath = "FantasyUpdate";
  42. public string ApplicationUpdater = "FantasyCorrector.exe";
  43. public List<string> Authorities { get; set; }
  44. public void WriteLocalConfigFile()
  45. {
  46. XmlDocument doc = new XmlDocument();
  47. CheckPathExist();
  48. if (!File.Exists(LocalConfigFile)) CreateLocalConfigFile();
  49. doc.Load(LocalConfigFile);
  50. XmlNode nodeLoginUsers = doc.SelectSingleNode("/WlsConfig/HistoryInfo/LoginUsers");
  51. XmlNode x = FindXmlNodeInList(nodeLoginUsers, "User", GlobalVariable.Instance.CurrentUserId);
  52. if (x == null)
  53. {
  54. XmlElement xe = doc.CreateElement("Item");
  55. xe.SetAttribute("User", GlobalVariable.Instance.CurrentUserId);
  56. xe.SetAttribute("Name", GlobalVariable.Instance.CurrentUserName);
  57. nodeLoginUsers.AppendChild(xe);
  58. }
  59. XmlNode nodeLastLoginUser = doc.SelectSingleNode("/WlsConfig/HistoryInfo/LastLoginUser");
  60. nodeLastLoginUser.Attributes["User"].Value = GlobalVariable.Instance.CurrentUserId;
  61. nodeLastLoginUser.Attributes["Name"].Value = GlobalVariable.Instance.CurrentUserName;
  62. doc.Save(LocalConfigFile);
  63. }
  64. public string GetLastLoginUser(string attName)
  65. {
  66. if (!File.Exists(LocalConfigFile)) return string.Empty;
  67. XmlDocument doc = new XmlDocument();
  68. doc.Load(LocalConfigFile);
  69. XmlNode nodeLastLoginUser = doc.SelectSingleNode("/WlsConfig/HistoryInfo/LastLoginUser");
  70. return nodeLastLoginUser.Attributes[attName].Value;
  71. }
  72. public XmlNodeList GetLoginUsers()
  73. {
  74. if (!File.Exists(GlobalVariable.Instance.LocalConfigFile)) return null;
  75. XmlDocument doc = new XmlDocument();
  76. doc.Load(GlobalVariable.Instance.LocalConfigFile);
  77. XmlNode nodeLoginUsers = doc.SelectSingleNode("/WlsConfig/HistoryInfo/LoginUsers");
  78. return nodeLoginUsers.ChildNodes;
  79. }
  80. private void CheckPathExist()
  81. {
  82. if (!Directory.Exists(LocalConfigFilePath))
  83. Directory.CreateDirectory(LocalConfigFilePath);
  84. DirectoryInfo dir = new DirectoryInfo(LocalConfigFilePath);
  85. }
  86. private string LocalConfigFilePath
  87. {
  88. get
  89. {
  90. return string.Format("{0}\\{1}", SystemPath, LocalConfigFileShortPath);
  91. }
  92. }
  93. /// <summary>
  94. /// 本地配置文件
  95. /// </summary>
  96. private string LocalConfigFileShortPath = "LocalConfigFilePath";
  97. /// <summary>
  98. /// 用户配置文件保存路径
  99. /// </summary>
  100. public string SystemPath { get; set; }
  101. public string Path= System.Environment.CurrentDirectory;
  102. private string LocalConfigFile
  103. {
  104. get
  105. {
  106. return string.Format("{0}\\{1}", LocalConfigFilePath, "LocalConfigFile.xml");
  107. }
  108. }
  109. public string TableConfigFile
  110. {
  111. get
  112. {
  113. return string.Format("{0}\\{1}", LocalConfigFilePath, "TableConfigFile.xml");
  114. }
  115. }
  116. private XmlNode FindXmlNodeInList(XmlNode nodeList, string attributeName, string attributeValue)
  117. {
  118. if (nodeList == null || nodeList.ChildNodes.Count == 0) return null;
  119. foreach (XmlNode x in nodeList.ChildNodes)
  120. {
  121. if (x.Attributes[attributeName] != null && x.Attributes[attributeName].Value.ToUpper() == attributeValue.ToUpper())
  122. return x;
  123. }
  124. return null;
  125. }
  126. private void CreateLocalConfigFile()
  127. {
  128. XmlTextWriter writer = new XmlTextWriter(LocalConfigFile, Encoding.UTF8);
  129. writer.Formatting = Formatting.Indented;
  130. writer.WriteStartDocument();
  131. writer.WriteStartElement("WlsConfig");
  132. writer.WriteStartElement("HistoryInfo");
  133. writer.WriteStartElement("LoginUsers");
  134. writer.WriteEndElement();
  135. writer.WriteStartElement("LastLoginUser");
  136. writer.WriteAttributeString("User", GlobalVariable.Instance.CurrentUserId);
  137. writer.WriteAttributeString("Name", GlobalVariable.Instance.CurrentUserName);
  138. writer.WriteEndElement();
  139. writer.WriteEndElement();
  140. writer.WriteEndElement();
  141. writer.WriteEndDocument();
  142. writer.Flush();
  143. writer.Close();
  144. }
  145. }
  146. }