using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
namespace Common
{
public class GlobalVariable
{
public GlobalVariable()
{
}
public static readonly GlobalVariable Instance = new GlobalVariable();
///
/// 主界面最小化时隐藏
///
public bool HideMainFormOnMinimizedTag = false;
public string MyToken{ get; set; }
///
/// 当前用户id
///
public string CurrentUserId { get; set; }
///
/// 当前用户Name
///
public string CurrentUserName { get; set; }
public string successString = "suceess";
///
/// 系统名称
///
public string SystemName = "酒钢智能计量系统客户端";
public string InitPassword = "init";
public string ServerIp = "10.1.213.213";
///
/// 更新程序名称
///
public string ApplicationStart = "CarMeterSystem.exe";
public string ReleaseFileName = "ReleaseList.xml";
public string ReleaseURL = "http://10.129.1.210/pikaServices/ZNZD";
public string LocalPath = "FantasyUpdate";
public string ApplicationUpdater = "FantasyCorrector.exe";
public List Authorities { get; set; }
public void WriteLocalConfigFile()
{
XmlDocument doc = new XmlDocument();
CheckPathExist();
if (!File.Exists(LocalConfigFile)) CreateLocalConfigFile();
doc.Load(LocalConfigFile);
XmlNode nodeLoginUsers = doc.SelectSingleNode("/WlsConfig/HistoryInfo/LoginUsers");
XmlNode x = FindXmlNodeInList(nodeLoginUsers, "User", GlobalVariable.Instance.CurrentUserId);
if (x == null)
{
XmlElement xe = doc.CreateElement("Item");
xe.SetAttribute("User", GlobalVariable.Instance.CurrentUserId);
xe.SetAttribute("Name", GlobalVariable.Instance.CurrentUserName);
nodeLoginUsers.AppendChild(xe);
}
XmlNode nodeLastLoginUser = doc.SelectSingleNode("/WlsConfig/HistoryInfo/LastLoginUser");
nodeLastLoginUser.Attributes["User"].Value = GlobalVariable.Instance.CurrentUserId;
nodeLastLoginUser.Attributes["Name"].Value = GlobalVariable.Instance.CurrentUserName;
doc.Save(LocalConfigFile);
}
public string GetLastLoginUser(string attName)
{
if (!File.Exists(LocalConfigFile)) return string.Empty;
XmlDocument doc = new XmlDocument();
doc.Load(LocalConfigFile);
XmlNode nodeLastLoginUser = doc.SelectSingleNode("/WlsConfig/HistoryInfo/LastLoginUser");
return nodeLastLoginUser.Attributes[attName].Value;
}
public XmlNodeList GetLoginUsers()
{
if (!File.Exists(GlobalVariable.Instance.LocalConfigFile)) return null;
XmlDocument doc = new XmlDocument();
doc.Load(GlobalVariable.Instance.LocalConfigFile);
XmlNode nodeLoginUsers = doc.SelectSingleNode("/WlsConfig/HistoryInfo/LoginUsers");
return nodeLoginUsers.ChildNodes;
}
private void CheckPathExist()
{
if (!Directory.Exists(LocalConfigFilePath))
Directory.CreateDirectory(LocalConfigFilePath);
DirectoryInfo dir = new DirectoryInfo(LocalConfigFilePath);
}
private string LocalConfigFilePath
{
get
{
return string.Format("{0}\\{1}", SystemPath, LocalConfigFileShortPath);
}
}
///
/// 本地配置文件
///
private string LocalConfigFileShortPath = "LocalConfigFilePath";
///
/// 用户配置文件保存路径
///
public string SystemPath { get; set; }
public string Path= System.Environment.CurrentDirectory;
private string LocalConfigFile
{
get
{
return string.Format("{0}\\{1}", LocalConfigFilePath, "LocalConfigFile.xml");
}
}
public string TableConfigFile
{
get
{
return string.Format("{0}\\{1}", LocalConfigFilePath, "TableConfigFile.xml");
}
}
private XmlNode FindXmlNodeInList(XmlNode nodeList, string attributeName, string attributeValue)
{
if (nodeList == null || nodeList.ChildNodes.Count == 0) return null;
foreach (XmlNode x in nodeList.ChildNodes)
{
if (x.Attributes[attributeName] != null && x.Attributes[attributeName].Value.ToUpper() == attributeValue.ToUpper())
return x;
}
return null;
}
private void CreateLocalConfigFile()
{
XmlTextWriter writer = new XmlTextWriter(LocalConfigFile, Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument();
writer.WriteStartElement("WlsConfig");
writer.WriteStartElement("HistoryInfo");
writer.WriteStartElement("LoginUsers");
writer.WriteEndElement();
writer.WriteStartElement("LastLoginUser");
writer.WriteAttributeString("User", GlobalVariable.Instance.CurrentUserId);
writer.WriteAttributeString("Name", GlobalVariable.Instance.CurrentUserName);
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();
writer.Close();
}
}
}