static Configuration() { ConfigurationDto = new ConfigurationDto(); /// Title、SubTitle、CloseMainwindowToExit Title = XmlUtil.XmlGetElementText(AppConfig, "/Application/Window[@name='MainWindow']/Title"); SubTitle = XmlUtil.XmlGetElementText( AppConfig, "/Application/Window[@name='MainWindow']/SubTitle"); bool closeMainwindowToExit; bool.TryParse(XmlUtil.XmlGetElementText(AppConfig, "/Application/CloseMainwindowToExit"), out closeMainwindowToExit); CloseMainwindowToExit = closeMainwindowToExit; ConfigurationDto.CloseMainwindowToExit = closeMainwindowToExit; /// DataBaseParam ConfigurationDto.DataSource = DataSource = XmlUtil.XmlGetElementText( AppConfig, "/Application/ConnectionString/DataSource"); ConfigurationDto.InitialCatalog = InitialCatalog = XmlUtil.XmlGetElementText( AppConfig, "/Application/ConnectionString/InitialCatalog"); ConfigurationDto.UserId = UserId = XmlUtil.XmlGetElementText( AppConfig, "/Application/ConnectionString/UserId"); string encryptPassword = XmlUtil.XmlGetElementText(AppConfig, "/Application/ConnectionString/Password"); Password = EncryptionDecryption.Decrypt(encryptPassword); ConfigurationDto.Password = Password; /// DataServerParam ConfigurationDto.ServerIp = ServerIp = XmlUtil.XmlGetElementText( AppConfig, "/Application/DataServer/DataServerIP"); ConfigurationDto.ServerPort = ServerPort = XmlUtil.XmlGetElementText( AppConfig, "/Application/DataServer/DataServerPort"); string encryptSpecPassword = XmlUtil.XmlGetElementText( AppConfig, "/Application/SpecPassword"); DefaultMachine = XmlUtil.XmlGetElementText(AppConfig, "/Application/DefaultMachine/@name"); double outerDiameter = 0.0; double.TryParse(XmlUtil.XmlGetElementText(AppConfig, "/Application/OuterDiameter/Upper"), out outerDiameter); ConfigurationDto.OuterDiameterUpper = OuterDiameterUpper = outerDiameter; double.TryParse(XmlUtil.XmlGetElementText(AppConfig, "/Application/OuterDiameter/Lower"), out outerDiameter); ConfigurationDto.OuterDiameterLower = OuterDiameterLower = outerDiameter; MachineMap = new Dictionary <string, Machine>(); EmployeeMap = new Dictionary <string, Employee>(); }
/// <summary> /// 保存配置 /// </summary> /// <returns></returns> public static string SaveConfiguration() { // Validate if (!ValidateUtil.ValidateIp(ConfigurationDto.DataSource)) { return("连接数据库的数据源地址格式有误!"); } if (!ValidateUtil.ValidateIp(ConfigurationDto.ServerIp)) { return("连接数据中心的地址格式有误!"); } if (!ValidateUtil.ValidatePort(ConfigurationDto.ServerPort)) { return("连接数据中心的端口设置有误!"); } bool configParameterBlured = false; List <string> tagNames = new List <string>(); List <string> newValues = new List <string>(); /// CloseMainwindowToExit if (CloseMainwindowToExit != ConfigurationDto.CloseMainwindowToExit) { tagNames.Add("CloseMainwindowToExit"); newValues.Add(ConfigurationDto.CloseMainwindowToExit.ToString()); CloseMainwindowToExit = ConfigurationDto.CloseMainwindowToExit; } /// DataBase Parameters if (!DataSource.Equals(ConfigurationDto.DataSource)) { configParameterBlured = true; tagNames.Add("DataSource"); newValues.Add(ConfigurationDto.DataSource); DataSource = ConfigurationDto.DataSource; } if (!InitialCatalog.Equals(ConfigurationDto.InitialCatalog)) { configParameterBlured = true; tagNames.Add("InitialCatalog"); newValues.Add(ConfigurationDto.InitialCatalog); InitialCatalog = ConfigurationDto.InitialCatalog; } if (!UserId.Equals(ConfigurationDto.UserId)) { configParameterBlured = true; tagNames.Add("UserId"); newValues.Add(ConfigurationDto.UserId); UserId = ConfigurationDto.UserId; } if (!Password.Equals(ConfigurationDto.Password)) { configParameterBlured = true; tagNames.Add("Password"); newValues.Add(EncryptionDecryption.Encrypt(ConfigurationDto.Password)); Password = ConfigurationDto.Password; } if (configParameterBlured) { ThreadPool.QueueUserWorkItem(new WaitCallback((obj) => { AppEventsManager.UpdateConnectionString(); }), null); } configParameterBlured = false; /// Data Server Parameter if (!ServerIp.Equals(ConfigurationDto.ServerIp)) { configParameterBlured = true; tagNames.Add("DataServerIP"); newValues.Add(ConfigurationDto.ServerIp); ServerIp = ConfigurationDto.ServerIp; } if (!ServerPort.Equals(ConfigurationDto.ServerPort)) { configParameterBlured = true; tagNames.Add("DataServerPort"); newValues.Add(ConfigurationDto.ServerPort); ServerPort = ConfigurationDto.ServerPort; } if (configParameterBlured) { ThreadPool.QueueUserWorkItem(new WaitCallback((obj) => { AppEventsManager.UpdateDataServer(); }), null); } configParameterBlured = false; if (OuterDiameterUpper != ConfigurationDto.OuterDiameterUpper) { tagNames.Add("Upper"); configParameterBlured = true; newValues.Add("" + ConfigurationDto.OuterDiameterUpper); OuterDiameterUpper = ConfigurationDto.OuterDiameterUpper; } if (OuterDiameterLower != ConfigurationDto.OuterDiameterLower) { tagNames.Add("Lower"); configParameterBlured = true; newValues.Add("" + ConfigurationDto.OuterDiameterLower); OuterDiameterLower = ConfigurationDto.OuterDiameterLower; } if (configParameterBlured) { ThreadPool.QueueUserWorkItem(new WaitCallback((obj) => { AppEventsManager.UpdateOuterDiameterUpperAndLower(); }), null); } if (tagNames.Count > 0) { XmlUtil.ChangeXmlByTagNames(AppConfig, tagNames, newValues); } return(null); }