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(); }
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); } }