Exemple #1
0
        public void RestoreTasks()
        {
            var savedTasks = GetAll();

            foreach (var task in savedTasks)
            {
                JobManager.ScheduleJob(task.TaskName, task.StartDateTime, task.RepeatInterval, task.ExternalExecutable, task.JobParameters);
            }
        }
        private void create_Click(object sender, EventArgs e)
        {
            var jobName        = ((ListItem)taskComboBox.SelectedItem).Value;
            var jobDisplayName = (taskComboBox.SelectedItem as ListItem)?.Text;
            var startDateTime  = this.startDateTime.Value;
            var repeatInterval = Convert.ToInt32((repeatComboBox.SelectedItem as ListItem).Value);

            if (jobName == "ExternalExecute")
            {
                jobName = Guid.NewGuid().ToString();
            }

            try
            {
                var tasks = new Tasks();
                if (tasks.TaskExists(jobName))
                {
                    var dialogResult = MessageBox.Show($"Are you sure you want to overwrite the task {jobName}?", "Overwrite Task?", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                        if (JobManager.DeleteJob(jobName))
                        {
                            tasks.DeleteTask(jobName);
                        }
                    }
                }

                if (!JobManager.ScheduleJob(jobName, startDateTime, repeatInterval, txtExternalExecutable.Text, txtExternalParameters.Text))
                {
                    return;
                }

                MessageBox.Show(tasks.CreateTask(jobName, jobDisplayName, startDateTime, repeatInterval,
                                                 txtExternalExecutable.Text, txtExternalParameters.Text)
                    ? $"Task created: {jobName}"
                    : $@"Task {jobName} created but will be lost if application is closed.");

                Close();
                TaskManager.LoadTasks();
            }
            catch (ArgumentException ex)
            {
                Logger.Instance.Error($"An error occured while creating the task {jobName}: {ex}");
                MessageBox.Show($@"An error occured while creating the task {jobName}");
                TaskManager.LoadTasks();
            }
        }