Ejemplo n.º 1
0
        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>();
        }
Ejemplo n.º 2
0
        /// <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);
        }