private void wizardControl1_Finished(object sender, System.EventArgs e)
        {
            if (TaskService == null)
            {
                TaskService = TaskService.Instance;
            }

            td.Data = TaskName;
            td.RegistrationInfo.Description = descText.Text;
            td.Triggers.Clear();
            td.Triggers.Add(trigger);
            td.Actions.Clear();
            td.Actions.Add(action);
            if (openDlgAfterCheck.Checked)
            {
                var dlg = new TaskEditDialog(TaskService, td, true, false, TaskName)
                {
                    StartPosition = FormStartPosition.CenterParent
                };
                if (dlg.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    td = dlg.TaskDefinition;
                }
            }
            if (RegisterTaskOnFinish)
            {
                TaskFolder fld = TaskService.RootFolder;
                if (!string.IsNullOrEmpty(TaskFolder) && TaskService.HighestSupportedVersion.CompareTo(TaskServiceVersion.V1_1) != 0)
                {
                    fld = TaskService.GetFolder(TaskFolder);
                }
                task = fld.RegisterTaskDefinition(TaskName, td, TaskCreation.CreateOrUpdate, td.Principal.ToString(), Password, td.Principal.LogonType);
            }
        }
Example #2
0
 public void Init()
 {
     _service = new TaskService();
     _folder = _service.RootFolder.SubFolders.Any(a => a.Name == "WarewolfTestFolder") ? _service.GetFolder("WarewolfTestFolder") : _service.RootFolder.CreateFolder("WarewolfTestFolder");
     var task = _service.NewTask();
         task.Actions.Add(new ExecAction("Notepad.exe"));
         _folder.RegisterTaskDefinition("TestTask", task);
 }
Example #3
0
        /// <summary>
        /// Handles the Click event of the okBtn control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        /// <remarks>Changed in release 1.8.4 so that when a user cancels the password dialog, it no longer throws an exception but rather displays an error.</remarks>
        private void okBtn_Click(object sender, System.EventArgs e)
        {
            if (TaskDefinition.Actions.Count == 0)
            {
                MessageBox.Show(EditorProperties.Resources.TaskMustHaveActionsError, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (TaskDefinition.Settings.DeleteExpiredTaskAfter != TimeSpan.Zero && !ValidateOneTriggerExpires())
            {
                MessageBox.Show(EditorProperties.Resources.Error_TaskDeleteMustHaveExpiringTrigger, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (TaskDefinition.LowestSupportedVersion > TaskDefinition.Settings.Compatibility)
            {
                MessageBox.Show(EditorProperties.Resources.Error_TaskPropertiesIncompatibleSimple, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (RegisterTaskOnAccept)
            {
                if (Task != null && !TaskDefinition.Principal.RequiresPassword())
                {
                    Task.RegisterChanges();
                }
                else
                {
                    var user = TaskDefinition.Principal.ToString();
                    user = string.IsNullOrEmpty(user) ? WindowsIdentity.GetCurrent().Name : user;
                    string     pwd = null;
                    TaskFolder fld = TaskService.GetFolder(TaskFolder);
                    if (TaskDefinition.Principal.RequiresPassword())
                    {
                        pwd = InvokeCredentialDialog(user, this);
                        if (pwd == null)
                        {
                            //throw new System.Security.Authentication.AuthenticationException(EditorProperties.Resources.UserAuthenticationError);
                            MessageBox.Show(EditorProperties.Resources.Error_PasswordMustBeProvided, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                    }
                    Task = fld.RegisterTaskDefinition(taskPropertiesControl1.TaskName, TaskDefinition, TaskCreation.CreateOrUpdate,
                                                      user, pwd, TaskDefinition.Principal.LogonType);
                }
            }
            DialogResult = DialogResult.OK;
            Close();
        }
        private void okButton_Click(object sender, EventArgs e)
        {
            if (this.TaskDefinition.Actions.Count == 0)
            {
                MessageBox.Show(EditorProperties.Resources.TaskMustHaveActionsError, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (this.TaskDefinition.Settings.DeleteExpiredTaskAfter != TimeSpan.Zero && !TaskEditDialog.ValidateOneTriggerExpires(this.TaskDefinition.Triggers))
            {
                MessageBox.Show(EditorProperties.Resources.Error_TaskDeleteMustHaveExpiringTrigger, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (this.TaskDefinition.LowestSupportedVersion > this.TaskDefinition.Settings.Compatibility)
            {
                MessageBox.Show(EditorProperties.Resources.Error_TaskPropertiesIncompatibleSimple, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (RegisterTaskOnAccept)
            {
                if (this.Task != null && this.Task.Definition.Principal.LogonType != TaskLogonType.InteractiveTokenOrPassword && this.Task.Definition.Principal.LogonType != TaskLogonType.Password)
                {
                    this.Task.RegisterChanges();
                }
                else
                {
                    string     user = this.TaskDefinition.Principal.ToString();
                    string     pwd  = null;
                    TaskFolder fld  = this.TaskService.GetFolder(this.TaskFolder);
                    if (this.TaskDefinition.Principal.LogonType == TaskLogonType.InteractiveTokenOrPassword || this.TaskDefinition.Principal.LogonType == TaskLogonType.Password)
                    {
                        pwd = TaskEditDialog.InvokeCredentialDialog(user, this);
                        if (pwd == null)
                        {
                            //throw new System.Security.Authentication.AuthenticationException(EditorProperties.Resources.UserAuthenticationError);
                            MessageBox.Show(EditorProperties.Resources.Error_PasswordMustBeProvided, null, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                    }
                    this.Task = fld.RegisterTaskDefinition(this.TaskName, this.TaskDefinition, TaskCreation.CreateOrUpdate,
                                                           user, pwd, this.TaskDefinition.Principal.LogonType);
                }
            }
            this.DialogResult = DialogResult.OK;
            Close();
        }
Example #5
0
        private void wizardControl1_Finished(object sender, System.EventArgs e)
        {
            bool myTS = false;

            if (TaskService == null)
            {
                TaskService = new TaskService();
                myTS        = true;
            }

            td.Data = TaskName;
            td.RegistrationInfo.Description = descText.Text;
            td.Triggers.Clear();
            td.Triggers.Add(trigger);
            td.Actions.Clear();
            td.Actions.Add(action);
            if (openDlgAfterCheck.Checked)
            {
                TaskEditDialog dlg = new TaskEditDialog();
                dlg.Editable = true;
                dlg.Initialize(TaskService, td);
                dlg.RegisterTaskOnAccept = false;
                dlg.TaskName             = TaskName;
                if (dlg.ShowDialog(ParentForm) == DialogResult.OK)
                {
                    td = dlg.TaskDefinition;
                }
            }
            if (RegisterTaskOnFinish)
            {
                TaskFolder fld = TaskService.RootFolder;
                if (!string.IsNullOrEmpty(TaskFolder) && TaskService.HighestSupportedVersion.CompareTo(new Version(1, 1)) != 0)
                {
                    fld = TaskService.GetFolder(TaskFolder);
                }
                task = fld.RegisterTaskDefinition(TaskName, td, TaskCreation.CreateOrUpdate, td.Principal.ToString(), Password, td.Principal.LogonType);
            }

            if (myTS)
            {
                TaskService = null;
            }
        }