Example #1
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            if (lstEventActions.SelectedItems.Count == 1)
            {
                if (Item.Actions[lstEventActions.SelectedItems[0].Name]
                    is ActiveScriptAction)
                {
                    EventAction action =
                        Item.Actions[lstEventActions.SelectedItems[0].Name];

                    ActiveScriptAction scriptAction =
                        action as ActiveScriptAction;

                    if (scriptAction != null)
                    {
                        ScriptActionEditor editor =
                            new ScriptActionEditor(Item, true);
                        editor.SetActionName(scriptAction.Name);
                        editor.SetScriptFilePath(scriptAction.ScriptFileName);
                        editor.SetScriptingHost(scriptAction.ScriptHost);
                        editor.DisplayScriptText(scriptAction.ScriptFileName);
                        editor.SetActionLimit(
                            scriptAction.LimitInstances,
                            scriptAction.InstanceLimit);

                        editor.ShowDialog();
                    }
                }
            }
        }
Example #2
0
        private void btnAccept_Click(
            object sender, EventArgs e)
        {
            if (txtActionName.Text.Length > 0 &
                txtScriptPath.Text.Length > 0)
            {
                ActiveScriptAction action =
                    new ActiveScriptAction(Item);

                action.Name           = txtActionName.Text;
                action.ScriptFileName = txtScriptPath.Text;
                action.ScriptHost     = lblScriptHost.Text;

                if (checkLimitInstances.Checked)
                {
                    action.LimitInstances = true;
                }
                else
                {
                    action.LimitInstances = false;
                }

                action.InstanceLimit = Convert.ToUInt32(
                    numericInstanceLimit.Value);

                if (!Editing)
                {
                    if (!Item.Actions.ContainsKey(action.Name))
                    {
                        Item.Actions.Add(action.Name, action);
                    }
                    else
                    {
                        MessageBox.Show("A monitoring action " +
                                        "with that name already exists");
                    }
                }
                else
                {
                    (Item.Actions[txtActionName.Text]
                     as ActiveScriptAction).ScriptFileName = txtScriptPath.Text;
                    (Item.Actions[txtActionName.Text]
                     as ActiveScriptAction).ScriptHost = lblScriptHost.Text;
                    (Item.Actions[txtActionName.Text]
                     as ActiveScriptAction).InstanceLimit = Convert.ToUInt32(
                        numericInstanceLimit.Value);
                    if (checkLimitInstances.Checked)
                    {
                        (Item.Actions[txtActionName.Text]
                         as ActiveScriptAction).LimitInstances = true;
                    }
                    else
                    {
                        (Item.Actions[txtActionName.Text]
                         as ActiveScriptAction).LimitInstances = false;
                    }
                }

                Close();
            }
            else
            {
                if (MessageBox.Show("Both action name and script file path " +
                                    Environment.NewLine + "must be entered." +
                                    Environment.NewLine + "Do you want exit " +
                                    "the Script action editor without saving?",
                                    null, MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
                {
                    Close();
                }
            }
        }