예제 #1
0
        void DoLogOn()
        {
            using (ForAssortingKanbanService proxy = new ForAssortingKanbanService())
            {
                proxy.Url = string.Format(CultureInfo.InvariantCulture, "http://{0}:{1}/ForAssortingKanbanService/", this.textBoxServerIP.Text, this.textBoxServicePort.Text);

                CFG_ChannelDto[] cfgChannels = proxy.QueryChannels();
                if (cfgChannels.All(c => c.Code != this.comboBoxCfgChannelCode.Text))
                {
                    this.comboBoxCfgChannelCode.Items.Clear();
                    foreach (CFG_ChannelDto cfgChannel in cfgChannels)
                    {
                        this.comboBoxCfgChannelCode.Items.Add(cfgChannel.Code);
                    }

                    throw new Exception("无效的巷道编码。");
                }
            }

            XmlSerializerWrapper <LocalSettings> localSettingsXmlSerializer = new XmlSerializerWrapper <LocalSettings>();
            LocalSettings localSettings = localSettingsXmlSerializer.Entity;

            localSettings.ServerIP       = this.textBoxServerIP.Text;
            localSettings.ServicePort    = int.Parse(this.textBoxServicePort.Text, CultureInfo.InvariantCulture);
            localSettings.CfgChannelCode = this.comboBoxCfgChannelCode.Text;

            localSettingsXmlSerializer.Save();
        }
예제 #2
0
        private void buttonSave_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                XmlSerializerWrapper <LocalSettings> xmlSerializer = new XmlSerializerWrapper <LocalSettings>();
                LocalSettings localSettings = xmlSerializer.Entity;

                bool connectionStringChanged = false;
                if (localSettings.ConnectionStringProviderName != this.viewModel.ConnectionStringProviderName ||
                    localSettings.ConnectionStringFormat != this.viewModel.ConnectionStringFormat ||
                    localSettings.ConnectionStringPassword != this.viewModel.ConnectionStringPassword)
                {
                    if (MessageBox.Show(@"注意:

修改数据库连接信息需要重新启动应用程序,确定修改并重启?

请先确保没有正在进行的作业。
", "服务设置", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No) == MessageBoxResult.Yes)
                    {
                        connectionStringChanged = true;
                    }
                }

                localSettings.ServiceIP                    = this.viewModel.ServiceIP;
                localSettings.ServicePort                  = this.viewModel.ServicePort;
                localSettings.PtlToLesServiceUrl           = string.Format(CultureInfo.InvariantCulture, "http://{0}:{1}/Service/PtlToLesService", this.viewModel.LesServiceIP, this.viewModel.LesServicePort);
                localSettings.PtlToMesServiceUrl           = string.Format(CultureInfo.InvariantCulture, "http://{0}:{1}/mes-interface/remote/toMes", this.viewModel.MesServiceIP, this.viewModel.MesServicePort);
                localSettings.PtlToAgvServiceUrl           = string.Format(CultureInfo.InvariantCulture, "http://{0}:{1}/rcs/services/rest/hikRpcService", this.viewModel.AgvServiceIP, this.viewModel.AgvServicePort);
                localSettings.ConnectionStringProviderName = this.viewModel.ConnectionStringProviderName;
                localSettings.ConnectionStringFormat       = this.viewModel.ConnectionStringFormat;
                localSettings.ConnectionStringPassword     = this.viewModel.ConnectionStringPassword;
                localSettings.HistoryHoldingDays           = this.viewModel.HistoryHoldingDays;

                xmlSerializer.Save();

                if (connectionStringChanged)
                {
                    Process.Start(Application.ResourceAssembly.Location);
                    Application.Current.Shutdown();

                    return;
                }
                else
                {
                    this.viewModel.RestartSafelyServices();

                    MessageBox.Show("保存成功并重新启动各业务服务。", "服务设置", MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "服务设置", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }