/// <summary> /// Loads data to UI. /// </summary> private void LoadData() { try{ SMTP_Settings settings = m_pVirtualServer.SystemSettings.SMTP; m_pEnabled.Checked = settings.Enabled; m_pGreetingText.Text = settings.GreetingText; m_pDefaultDomain.Text = settings.DefaultDomain; m_pSessionTimeout.Value = settings.SessionIdleTimeOut; m_pMaxConnections.Value = settings.MaximumConnections; m_pMaxConnsPerIP.Value = settings.MaximumConnectionsPerIP; m_pMaxBadCommands.Value = settings.MaximumBadCommands; m_pMaxMessageSize.Value = settings.MaximumMessageSize; m_pMaxRecipients.Value = settings.MaximumRecipientsPerMessage; m_pMaxTransactions.Value = settings.MaximumTransactions; m_pRequireAuth.Checked = settings.RequireAuthentication; 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_pTabGeneral_Bindings.Items.Add(it); } m_pTabGeneral_Bindings_SelectedIndexChanged(this, new EventArgs()); } catch (Exception x) { wfrm_sys_Error frm = new wfrm_sys_Error(x, new System.Diagnostics.StackTrace()); frm.ShowDialog(this); } }
/// <summary> /// Saves data. /// </summary> /// <param name="confirmSave">Specifies is save confirmation UI is showed.</param> private void SaveData(bool confirmSave) { try{ SMTP_Settings settings = m_pVirtualServer.SystemSettings.SMTP; settings.Enabled = m_pEnabled.Checked; settings.GreetingText = m_pGreetingText.Text; settings.DefaultDomain = m_pDefaultDomain.Text; settings.SessionIdleTimeOut = (int)m_pSessionTimeout.Value; settings.MaximumConnections = (int)m_pMaxConnections.Value; settings.MaximumConnectionsPerIP = (int)m_pMaxConnsPerIP.Value; settings.MaximumBadCommands = (int)m_pMaxBadCommands.Value; settings.MaximumMessageSize = (int)m_pMaxMessageSize.Value; settings.MaximumRecipientsPerMessage = (int)m_pMaxRecipients.Value; settings.MaximumTransactions = (int)m_pMaxTransactions.Value; settings.RequireAuthentication = m_pRequireAuth.Checked; // IP binds List <IPBindInfo> binds = new List <IPBindInfo>(); foreach (ListViewItem it in m_pTabGeneral_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); } }