예제 #1
0
        //#region ICollectorConfigEntryEditWindow
        //public ICollectorConfigEntry SelectedEntry { get; set; }
        //public QuickMonDialogResult ShowEditEntry()
        //{
        //    return (QuickMonDialogResult)ShowDialog();
        //}
        //#endregion

        #region Form events
        private void SqlQueryCollectorEditEntry_Load(object sender, EventArgs e)
        {
            try
            {
                SqlQueryCollectorEntry selectedEntry;
                if (SelectedEntry == null)
                {
                    SelectedEntry = new SqlQueryCollectorEntry()
                    {
                        DataSourceType = Collectors.DataSourceType.SqlServer
                    }
                }
                ;
                selectedEntry = (SqlQueryCollectorEntry)SelectedEntry;

                txtName.Text             = selectedEntry.Name;
                optOLEDb.Checked         = selectedEntry.DataSourceType == DataSourceType.OLEDB;
                optSqlServer.Checked     = selectedEntry.DataSourceType == DataSourceType.SqlServer;
                txtServer.Text           = selectedEntry.Server;
                cboDatabase.Text         = selectedEntry.Database;
                chkIntegratedSec.Checked = selectedEntry.IntegratedSecurity;
                txtUserName.Text         = selectedEntry.UserName;
                txtPassword.Text         = selectedEntry.Password;

                txtConnectionString.Text = selectedEntry.ConnectionString;

                txtApplicationName.Text = selectedEntry.ApplicationName;
                numericUpDownCmndTimeOut.SaveValueSet(selectedEntry.CmndTimeOut);
                chkUsePersistentConnection.Checked = selectedEntry.UsePersistentConnection;

                chkUseSPForState.Checked = selectedEntry.UseSPForStateQuery;
                txtStateQuery.Text       = selectedEntry.StateQuery;

                chkUseSPForDetail.Checked = selectedEntry.UseSPForDetailQuery;
                txtDetailQuery.Text       = selectedEntry.DetailQuery;

                cboReturnCheckSequence.SelectedIndex = (int)selectedEntry.ReturnCheckSequence;
                cboReturnType.SelectedIndex          = (int)selectedEntry.ValueReturnType;
                cboSuccessMatchType.SelectedIndex    = (int)selectedEntry.GoodResultMatchType;
                txtGoodValueOrMacro.Text             = selectedEntry.GoodValue;
                cboWarningMatchType.SelectedIndex    = (int)selectedEntry.WarningResultMatchType;
                txtWarningValueOrMacro.Text          = selectedEntry.WarningValue;
                cboErrorMatchType.SelectedIndex      = (int)selectedEntry.ErrorResultMatchType;
                txtErrorValueOrMacro.Text            = selectedEntry.ErrorValue;

                cboOutputValueUnit.Text = selectedEntry.OutputValueUnit;

                SetDataSourceSelection();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #2
0
        private void cmdOK_Click(object sender, EventArgs e)
        {
            SqlQueryCollectorEntry selectedEntry;

            if (SelectedEntry == null)
            {
                SelectedEntry = new SqlQueryCollectorEntry()
                {
                    DataSourceType = Collectors.DataSourceType.SqlServer
                }
            }
            ;
            selectedEntry = (SqlQueryCollectorEntry)SelectedEntry;

            selectedEntry.Name               = txtName.Text;
            selectedEntry.DataSourceType     = optOLEDb.Checked ? DataSourceType.OLEDB : DataSourceType.SqlServer;
            selectedEntry.Server             = txtServer.Text;
            selectedEntry.Database           = cboDatabase.Text;
            selectedEntry.IntegratedSecurity = chkIntegratedSec.Checked;
            selectedEntry.UserName           = txtUserName.Text;
            selectedEntry.Password           = txtPassword.Text;
            selectedEntry.ConnectionString   = txtConnectionString.Text;

            selectedEntry.ApplicationName         = txtApplicationName.Text;
            selectedEntry.CmndTimeOut             = (int)numericUpDownCmndTimeOut.Value;
            selectedEntry.UsePersistentConnection = chkUsePersistentConnection.Checked;

            selectedEntry.UseSPForStateQuery = chkUseSPForState.Checked;
            selectedEntry.StateQuery         = txtStateQuery.Text;

            //selectedEntry.UseSPForDetailQuery = chkUseSPForDetail.Checked;
            //selectedEntry.DetailQuery = txtDetailQuery.Text;

            selectedEntry.ReturnCheckSequence = (CollectorAgentReturnValueCheckSequence)cboReturnCheckSequence.SelectedIndex;

            selectedEntry.ValueReturnType        = (DataBaseQueryValueReturnType)cboReturnType.SelectedIndex;
            selectedEntry.GoodResultMatchType    = (CollectorAgentReturnValueCompareMatchType)cboSuccessMatchType.SelectedIndex;
            selectedEntry.GoodValue              = txtGoodValueOrMacro.Text;
            selectedEntry.WarningResultMatchType = (CollectorAgentReturnValueCompareMatchType)cboWarningMatchType.SelectedIndex;
            selectedEntry.WarningValue           = txtWarningValueOrMacro.Text;
            selectedEntry.ErrorResultMatchType   = (CollectorAgentReturnValueCompareMatchType)cboErrorMatchType.SelectedIndex;
            selectedEntry.ErrorValue             = txtErrorValueOrMacro.Text;

            selectedEntry.OutputValueUnit = cboOutputValueUnit.Text;

            SelectedEntry = selectedEntry;

            DialogResult = DialogResult.OK;
            Close();
        }
예제 #3
0
        private void cmdTest_Click(object sender, EventArgs e)
        {
            string lastStep = "Initialize values";

            try
            {
                Cursor.Current = Cursors.WaitCursor;
                SqlQueryCollectorEntry testEntry = new SqlQueryCollectorEntry();

                string name             = ApplyConfigVarsOnField(txtName.Text);
                string serverName       = ApplyConfigVarsOnField(txtServer.Text);
                string databaseName     = ApplyConfigVarsOnField(cboDatabase.Text);
                string username         = ApplyConfigVarsOnField(txtUserName.Text);
                string password         = ApplyConfigVarsOnField(txtPassword.Text);
                string connectionString = ApplyConfigVarsOnField(txtConnectionString.Text);
                string applicationName  = ApplyConfigVarsOnField(txtApplicationName.Text);
                string testScript       = ApplyConfigVarsOnField(txtStateQuery.Text);
                string successVal       = ApplyConfigVarsOnField(txtGoodValueOrMacro.Text);
                string warningVal       = ApplyConfigVarsOnField(txtWarningValueOrMacro.Text);
                string errorVal         = ApplyConfigVarsOnField(txtErrorValueOrMacro.Text);

                testEntry.Name               = txtName.Text;
                testEntry.DataSourceType     = optOLEDb.Checked ? DataSourceType.OLEDB : DataSourceType.SqlServer;
                testEntry.Server             = serverName;
                testEntry.Database           = databaseName;
                testEntry.IntegratedSecurity = chkIntegratedSec.Checked;
                testEntry.UserName           = username;
                testEntry.Password           = password;
                testEntry.ConnectionString   = connectionString;

                testEntry.ApplicationName         = applicationName;
                testEntry.CmndTimeOut             = (int)numericUpDownCmndTimeOut.Value;
                testEntry.UsePersistentConnection = chkUsePersistentConnection.Checked;

                testEntry.UseSPForStateQuery = chkUseSPForState.Checked;
                testEntry.StateQuery         = testScript;

                testEntry.ReturnCheckSequence    = (CollectorAgentReturnValueCheckSequence)cboReturnCheckSequence.SelectedIndex;
                testEntry.ValueReturnType        = (DataBaseQueryValueReturnType)cboReturnType.SelectedIndex;
                testEntry.GoodResultMatchType    = (CollectorAgentReturnValueCompareMatchType)cboSuccessMatchType.SelectedIndex;
                testEntry.GoodValue              = successVal;
                testEntry.WarningResultMatchType = (CollectorAgentReturnValueCompareMatchType)cboWarningMatchType.SelectedIndex;
                testEntry.WarningValue           = warningVal;
                testEntry.ErrorResultMatchType   = (CollectorAgentReturnValueCompareMatchType)cboErrorMatchType.SelectedIndex;
                testEntry.ErrorValue             = errorVal;

                testEntry.OutputValueUnit = cboOutputValueUnit.Text;

                lastStep = "Run state query";
                MonitorState currentState = testEntry.GetCurrentState();

                //lastStep = "Run detail query";
                //DataTable dt = testEntry.GetDetailQueryDataTable();
                //lastStep = "Run detail query - Getting column names";
                //List<DataColumn> columns = new List<DataColumn>();
                //columns.AddRange((from DataColumn c in dt.Columns
                //                  select c).ToArray());

                //MessageBox.Show(string.Format("{0}!\r\nState value return: {1}\r\nDetail row count: {2}\r\nDetail columns returned: {3}",
                //    currentState,
                //    testEntry.CurrentAgentValue, dt.Rows.Count, columns.ToCSVString()), "Test", MessageBoxButtons.OK,
                //    currentState == CollectorState.Good ? MessageBoxIcon.Information : currentState == CollectorState.Warning ? MessageBoxIcon.Warning : MessageBoxIcon.Error);

                MessageBox.Show(string.Format("{0}!\r\nValue returned: {1}", currentState.State, currentState.CurrentValue), "Test", MessageBoxButtons.OK,
                                currentState.State == CollectorState.Good ? MessageBoxIcon.Information : currentState.State == CollectorState.Warning ? MessageBoxIcon.Warning : MessageBoxIcon.Error);
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format("Failed!\r\nLast step: {0}\r\n{1}", lastStep, ex.Message), "Test", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }