/// <summary> /// Saves data. /// </summary> /// <param name="confirmSave">Specifies is save confirmation UI is showed.</param> private void SaveData(bool confirmSave) { try{ Relay_Settings settings = m_pVirtualServer.SystemSettings.Relay; if (m_pTabGeneral_SendSmartHost.Checked) { settings.RelayMode = Relay_Mode.SmartHost; } else { settings.RelayMode = Relay_Mode.Dns; } if (m_pTabGeneral_SmartHostsBalanceMode.SelectedIndex == 0) { settings.SmartHostsBalanceMode = BalanceMode.LoadBalance; } else { settings.SmartHostsBalanceMode = BalanceMode.FailOver; } settings.SessionIdleTimeOut = (int)m_pTabGeneral_SessionTimeout.Value; settings.MaximumConnections = (int)m_pTabGeneral_MaxConnections.Value; settings.MaximumConnectionsPerIP = (int)m_pTabGeneral_MaxConnsPerIP.Value; settings.RelayInterval = (int)m_pTabGeneral_RelayInterval.Value; settings.RelayRetryInterval = (int)m_pTabGeneral_RelayRetryInterval.Value; settings.SendUndeliveredWarningAfter = (int)m_pTabGeneral_SendUndelWarning.Value; settings.SendUndeliveredAfter = (int)m_pTabGeneral_SendUndelivered.Value; settings.StoreUndeliveredMessages = m_pTabGeneral_StoreUndeliveredMsgs.Checked; settings.UseTlsIfPossible = m_pTabGeneral_UseTlsIfPossible.Checked; // Smart hosts List <Relay_SmartHost> smartHosts = new List <Relay_SmartHost>(); foreach (ListViewItem it in m_pTabGeneral_SmartHosts.Items) { smartHosts.Add((Relay_SmartHost)it.Tag); } settings.SmartHosts = smartHosts.ToArray(); // IP binds List <IPBindInfo> binds = new List <IPBindInfo>(); foreach (ListViewItem it in m_pTabBindings_Bindings.Items) { binds.Add((IPBindInfo)it.Tag); } settings.Binds = binds.ToArray(); if (m_pVirtualServer.SystemSettings.HasChanges) { if (!confirmSave || MessageBox.Show(this, "You have changes settings, do you want to save them ?", "Confirm:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { m_pVirtualServer.SystemSettings.Commit(); } } } catch (Exception x) { wfrm_sys_Error frm = new wfrm_sys_Error(x, new System.Diagnostics.StackTrace()); frm.ShowDialog(this); } }
private void SaveData(bool confirmSave) { try { Relay_Settings relay = this.m_pVirtualServer.SystemSettings.Relay; if (this.m_pTabGeneral_SendSmartHost.Checked) { relay.RelayMode = Relay_Mode.SmartHost; } else { relay.RelayMode = Relay_Mode.Dns; } if (this.m_pTabGeneral_SmartHostsBalanceMode.SelectedIndex == 0) { relay.SmartHostsBalanceMode = BalanceMode.LoadBalance; } else { relay.SmartHostsBalanceMode = BalanceMode.FailOver; } relay.SessionIdleTimeOut = (int)this.m_pTabGeneral_SessionTimeout.Value; relay.MaximumConnections = (int)this.m_pTabGeneral_MaxConnections.Value; relay.MaximumConnectionsPerIP = (int)this.m_pTabGeneral_MaxConnsPerIP.Value; relay.RelayInterval = (int)this.m_pTabGeneral_RelayInterval.Value; relay.RelayRetryInterval = (int)this.m_pTabGeneral_RelayRetryInterval.Value; relay.SendUndeliveredWarningAfter = (int)this.m_pTabGeneral_SendUndelWarning.Value; relay.SendUndeliveredAfter = (int)this.m_pTabGeneral_SendUndelivered.Value; relay.StoreUndeliveredMessages = this.m_pTabGeneral_StoreUndeliveredMsgs.Checked; relay.UseTlsIfPossible = this.m_pTabGeneral_UseTlsIfPossible.Checked; List <Relay_SmartHost> list = new List <Relay_SmartHost>(); foreach (ListViewItem listViewItem in this.m_pTabGeneral_SmartHosts.Items) { list.Add((Relay_SmartHost)listViewItem.Tag); } relay.SmartHosts = list.ToArray(); List <IPBindInfo> list2 = new List <IPBindInfo>(); foreach (ListViewItem listViewItem2 in this.m_pTabBindings_Bindings.Items) { list2.Add((IPBindInfo)listViewItem2.Tag); } relay.Binds = list2.ToArray(); if (this.m_pVirtualServer.SystemSettings.HasChanges && (!confirmSave || MessageBox.Show(this, "You have changes settings, do you want to save them ?", "Confirm:", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)) { this.m_pVirtualServer.SystemSettings.Commit(); } } catch (Exception x) { ErrorForm errorForm = new ErrorForm(x, new StackTrace()); errorForm.ShowDialog(this); } }
private void LoadData() { try { Relay_Settings relay = this.m_pVirtualServer.SystemSettings.Relay; if (relay.RelayMode == Relay_Mode.SmartHost) { this.m_pTabGeneral_SendSmartHost.Checked = true; } else { this.m_pTabGeneral_SendDns.Checked = true; } if (relay.SmartHostsBalanceMode == BalanceMode.LoadBalance) { this.m_pTabGeneral_SmartHostsBalanceMode.SelectedIndex = 0; } else { this.m_pTabGeneral_SmartHostsBalanceMode.SelectedIndex = 1; } this.m_pTabGeneral_SessionTimeout.Value = relay.SessionIdleTimeOut; this.m_pTabGeneral_MaxConnections.Value = relay.MaximumConnections; this.m_pTabGeneral_MaxConnsPerIP.Value = relay.MaximumConnectionsPerIP; this.m_pTabGeneral_RelayInterval.Value = relay.RelayInterval; this.m_pTabGeneral_RelayRetryInterval.Value = relay.RelayRetryInterval; this.m_pTabGeneral_SendUndelWarning.Value = relay.SendUndeliveredWarningAfter; this.m_pTabGeneral_SendUndelivered.Value = relay.SendUndeliveredAfter; this.m_pTabGeneral_StoreUndeliveredMsgs.Checked = relay.StoreUndeliveredMessages; this.m_pTabGeneral_UseTlsIfPossible.Checked = relay.UseTlsIfPossible; Relay_SmartHost[] smartHosts = relay.SmartHosts; for (int i = 0; i < smartHosts.Length; i++) { Relay_SmartHost relay_SmartHost = smartHosts[i]; ListViewItem listViewItem = new ListViewItem(); listViewItem.Text = relay_SmartHost.Host; listViewItem.SubItems.Add(relay_SmartHost.Port.ToString()); listViewItem.SubItems.Add(relay_SmartHost.SslMode.ToString()); listViewItem.SubItems.Add(relay_SmartHost.UserName); listViewItem.Tag = relay_SmartHost; this.m_pTabGeneral_SmartHosts.Items.Add(listViewItem); } IPBindInfo[] binds = relay.Binds; for (int j = 0; j < binds.Length; j++) { IPBindInfo iPBindInfo = binds[j]; ListViewItem listViewItem2 = new ListViewItem(); listViewItem2.Text = iPBindInfo.HostName; if (iPBindInfo.IP.ToString() == "0.0.0.0") { listViewItem2.SubItems.Add("Any IPv4"); } else if (iPBindInfo.IP.ToString() == "0:0:0:0:0:0:0:0") { listViewItem2.SubItems.Add("Any IPv6"); } else { listViewItem2.SubItems.Add(iPBindInfo.IP.ToString()); } listViewItem2.SubItems.Add(iPBindInfo.Port.ToString()); listViewItem2.SubItems.Add(iPBindInfo.SslMode.ToString()); listViewItem2.SubItems.Add(Convert.ToString(iPBindInfo.Certificate != null)); listViewItem2.Tag = iPBindInfo; this.m_pTabBindings_Bindings.Items.Add(listViewItem2); } this.AddNotifications(); } catch (Exception x) { ErrorForm errorForm = new ErrorForm(x, new StackTrace()); errorForm.ShowDialog(this); } }
/// <summary> /// Loads data to UI. /// </summary> private void LoadData() { try{ Relay_Settings settings = m_pVirtualServer.SystemSettings.Relay; if (settings.RelayMode == Relay_Mode.SmartHost) { m_pTabGeneral_SendSmartHost.Checked = true; } else { m_pTabGeneral_SendDns.Checked = true; } if (settings.SmartHostsBalanceMode == BalanceMode.LoadBalance) { m_pTabGeneral_SmartHostsBalanceMode.SelectedIndex = 0; } else { m_pTabGeneral_SmartHostsBalanceMode.SelectedIndex = 1; } m_pTabGeneral_SessionTimeout.Value = settings.SessionIdleTimeOut; m_pTabGeneral_MaxConnections.Value = settings.MaximumConnections; m_pTabGeneral_MaxConnsPerIP.Value = settings.MaximumConnectionsPerIP; m_pTabGeneral_RelayInterval.Value = settings.RelayInterval; m_pTabGeneral_RelayRetryInterval.Value = settings.RelayRetryInterval; m_pTabGeneral_SendUndelWarning.Value = settings.SendUndeliveredWarningAfter; m_pTabGeneral_SendUndelivered.Value = settings.SendUndeliveredAfter; m_pTabGeneral_StoreUndeliveredMsgs.Checked = settings.StoreUndeliveredMessages; foreach (Relay_SmartHost smartHost in settings.SmartHosts) { ListViewItem it = new ListViewItem(); it.Text = smartHost.Host; it.SubItems.Add(smartHost.Port.ToString()); it.SubItems.Add(smartHost.SslMode.ToString()); it.SubItems.Add(smartHost.UserName); it.Tag = smartHost; m_pTabGeneral_SmartHosts.Items.Add(it); } foreach (IPBindInfo binding in settings.Binds) { ListViewItem it = new ListViewItem(); it.Text = binding.HostName; if (binding.IP.ToString() == "0.0.0.0") { it.SubItems.Add("Any IPv4"); } else if (binding.IP.ToString() == "0:0:0:0:0:0:0:0") { it.SubItems.Add("Any IPv6"); } else { it.SubItems.Add(binding.IP.ToString()); } it.SubItems.Add(binding.Port.ToString()); it.SubItems.Add(binding.SslMode.ToString()); it.SubItems.Add(Convert.ToString(binding.Certificate != null)); it.Tag = binding; m_pTabBindings_Bindings.Items.Add(it); } AddNotifications(); } catch (Exception x) { wfrm_sys_Error frm = new wfrm_sys_Error(x, new System.Diagnostics.StackTrace()); frm.ShowDialog(this); } }