private void cmdOK_Click(object sender, EventArgs e)
        {
            SqlDatabaseSizeCollectorEntry selectedEntry;

            if (SelectedEntry == null)
            {
                selectedEntry = new SqlDatabaseSizeCollectorEntry();
            }

            selectedEntry                    = (SqlDatabaseSizeCollectorEntry)SelectedEntry;
            selectedEntry.SqlServer          = txtServer.Text;
            selectedEntry.IntegratedSecurity = chkIntegratedSec.Checked;
            selectedEntry.UserName           = txtUserName.Text;
            selectedEntry.Password           = txtPassword.Text;
            selectedEntry.SqlCmndTimeOutSec  = (int)numericUpDownCmndTimeOut.Value;
            selectedEntry.Database           = cboDatabase.Text;
            selectedEntry.WarningSizeMB      = (int)warningNumericUpDown.Value;
            selectedEntry.ErrorSizeMB        = (int)errorNumericUpDown.Value;
            DialogResult = System.Windows.Forms.DialogResult.OK;
            Close();
        }
 private void cmdTest_Click(object sender, EventArgs e)
 {
     try
     {
         SqlDatabaseSizeCollectorEntry test = new SqlDatabaseSizeCollectorEntry();
         test.SqlServer          = txtServer.Text;
         test.Database           = cboDatabase.Text;
         test.IntegratedSecurity = chkIntegratedSec.Checked;
         test.UserName           = txtUserName.Text;
         test.Password           = txtPassword.Text;
         test.SqlCmndTimeOutSec  = (int)numericUpDownCmndTimeOut.Value;
         test.WarningSizeMB      = (int)warningNumericUpDown.Value;
         test.ErrorSizeMB        = (int)errorNumericUpDown.Value;
         long currentSize = test.GetDBSize();
         MessageBox.Show(string.Format("Current database size: {0} MB", currentSize), "Test", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Test", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        public void FromXml(string configurationString)
        {
            XmlDocument config = new XmlDocument();

            config.LoadXml(configurationString);
            XmlElement root = config.DocumentElement;

            Entries.Clear();
            foreach (XmlElement databaseNode in root.SelectNodes("databases/database"))
            {
                SqlDatabaseSizeCollectorEntry databaseEntry = new SqlDatabaseSizeCollectorEntry();
                databaseEntry.Database           = databaseNode.ReadXmlElementAttr("name", "");
                databaseEntry.SqlServer          = databaseNode.ReadXmlElementAttr("server", "");
                databaseEntry.IntegratedSecurity = databaseNode.ReadXmlElementAttr("integratedSec", true);
                databaseEntry.UserName           = databaseNode.ReadXmlElementAttr("userName", "");
                databaseEntry.Password           = databaseNode.ReadXmlElementAttr("password", "");
                databaseEntry.SqlCmndTimeOutSec  = databaseNode.ReadXmlElementAttr("sqlCmndTimeOutSec", 30);
                databaseEntry.WarningSizeMB      = databaseNode.ReadXmlElementAttr("warningValueMB", 1024);
                databaseEntry.ErrorSizeMB        = databaseNode.ReadXmlElementAttr("errorValueMB", 4096);
                Entries.Add(databaseEntry);
            }
        }
        //#region ICollectorConfigEntryEditWindow
        //public ICollectorConfigEntry SelectedEntry { get; set; }
        //public QuickMonDialogResult ShowEditEntry()
        //{
        //    return (QuickMonDialogResult)ShowDialog();
        //}
        //#endregion

        #region Form events
        private void SqlDatabaseSizeCollectorEditEntry_Load(object sender, EventArgs e)
        {
            SqlDatabaseSizeCollectorEntry selectedEntry;

            if (SelectedEntry == null)
            {
                SelectedEntry = new SqlDatabaseSizeCollectorEntry()
                {
                    SqlCmndTimeOutSec = 30, IntegratedSecurity = true
                }
            }
            ;
            selectedEntry                  = (SqlDatabaseSizeCollectorEntry)SelectedEntry;
            txtServer.Text                 = selectedEntry.SqlServer;
            cboDatabase.Text               = selectedEntry.Database;
            chkIntegratedSec.Checked       = selectedEntry.IntegratedSecurity;
            txtUserName.Text               = selectedEntry.UserName;
            txtPassword.Text               = selectedEntry.Password;
            numericUpDownCmndTimeOut.Value = selectedEntry.SqlCmndTimeOutSec;
            warningNumericUpDown.Value     = selectedEntry.WarningSizeMB;
            errorNumericUpDown.Value       = selectedEntry.ErrorSizeMB;
            LoadDatabases();
            CheckOkEnabled();
        }