internal static void FindTask(TaskService ts, System.IO.TextWriter output, params string[] arg) { try { Task t = ts.FindTask(arg[0]); if (t == null) { output.WriteLine(string.Format("Task '{0}' not found.", arg[0])); } else { output.WriteLine(string.Format("Task '{0}' found. Created on {1:g} and last run on {2:g}.", t.Name, t.Definition.RegistrationInfo.Date, t.LastRunTime)); if (t.Definition.Triggers.ContainsType(typeof(CustomTrigger))) { foreach (var tr in t.Definition.Triggers) { CustomTrigger ct = tr as CustomTrigger; if (ct != null && ct.Properties.Count > 0) { output.WriteLine("Custom Trigger Properties:"); int i = 0; foreach (var name in ct.Properties.Names) { output.WriteLine("{0}. {1} = {2}", ++i, name, ct.Properties[name]); } } } } } } catch (Exception ex) { output.WriteLine(ex.ToString()); } }
private void CreateTask(string[] args) { Console.Write(args != null && args.Length >= 1 ? args[0] : ""); using (TaskService ts = new TaskService()) { // Create a new task definition and assign properties TaskDefinition td = ts.NewTask(); td.RegistrationInfo.Description = "Elevate"; td.Principal.LogonType = TaskLogonType.ServiceAccount; td.Principal.UserId = @"NT AUTHORITY\LOCALSERVICE"; // Create a trigger that will fire the task at this time every other day td.Triggers.Add(CustomTrigger.CreateTrigger(TaskTriggerType.Registration));// DailyTrigger { DaysInterval = 2 }); // Create an action that will launch Notepad whenever the trigger fires td.Actions.Add(new ExecAction("notepad.exe", "c:\\test.log", null)); //td.Settings.AllowDemandStart = true; // Register the task in the root folder ts.RootFolder.RegisterTaskDefinition(@"Test", td); //ts.Execute("Test"); Console.ReadKey(); // Remove the task we just created ts.RootFolder.DeleteTask("Test"); } }
public void check() { updateActiveTriggers(); foreach (KeyValuePair <string, CustomTrigger> pair in ppTriggers) { // TODO Figure out how to grab the matched lines of text from the log. CustomTrigger trigger = pair.Value; //trigger.ResultsTab.Controls. Log_Manager.write(trigger.LastAudioAlert.ToString() + ", " + trigger.ToString()); } }
private void updateActiveTriggers() { foreach (KeyValuePair <string, CustomTrigger> pair in ppTriggers) { CustomTrigger trigger = pair.Value; bool triggerExists = ActGlobals.oFormActMain.CustomTriggers.ContainsKey(trigger.Key); if (!triggerExists) { Log_Manager.write("Adding trigger, " + trigger.Key + ", to ACT."); ActGlobals.oFormActMain.AddEditCustomTrigger(trigger); } else { Log_Manager.write("Trigger, " + trigger.Key + ", already exists in ACT."); } } }
private void BtnAddTrigger_MouseUp(object sender, MouseButtonEventArgs e) { if (editjob == null) { return; } var trigger = new CustomTrigger(); var triggerWindow = new TriggerWindow(trigger, true); triggerWindow.Owner = this; triggerWindow.OnSave = (trg) => { editjob.Triggers.Add(trg); dgTriggers.ItemsSource = null; dgTriggers.ItemsSource = editjob.Triggers; QuartzJsonContext.Instance.Update(editjob); QuartzJsonContext.Instance.Commit(); QuartzJsonContext.Instance.Reload(); }; triggerWindow.ShowDialog(); }
private void TryImportAct() { string warning = ""; bool includesTabs = false; bool includesTimers = false; Folder rootf = new Folder(); rootf.Name = I18n.Translate("internal/ImportForm/importedacttriggers", "Imported ACT triggers ({0})", DateTime.Now); TreeNode root = new TreeNode(); root.Text = rootf.Name; root.Tag = rootf; rootf.Enabled = true; root.Checked = true; root.ImageIndex = 0; root.SelectedImageIndex = 0; treeView1.Nodes.Add(root); var trigs = from ix in ActGlobals.oFormActMain.CustomTriggers group ix by new { ix.Value.Category, ix.Value.RestrictToCategoryZone } into ixs select new { Key = ixs.Key, Items = ixs.ToList() }; foreach (var trig in trigs) { Folder f = new Folder(); f.Name = trig.Key.Category; if (trig.Key.RestrictToCategoryZone == true) { f.ZoneFilterEnabled = true; f.ZoneFilterRegularExpression = f.Name; } f.Name += (trig.Key.RestrictToCategoryZone == true ? " (" + I18n.Translate("internal/ImportForm/restrictedtozone", "restricted to zone") + ")" : ""); TreeNode fn = new TreeNode(); fn.Text = f.Name; f.Enabled = true; fn.Checked = true; fn.Tag = f; fn.ImageIndex = 0; fn.SelectedImageIndex = 0; root.Nodes.Add(fn); rootf.Folders.Add(f); f.Parent = rootf; foreach (KeyValuePair <string, CustomTrigger> kp in trig.Items) { TreeNode tn = new TreeNode(); Trigger t = new Trigger(); CustomTrigger ct = kp.Value; t = ImportActTrigger(ct.Active, ct.ShortRegexString, ct.SoundData, ct.SoundType, ct.TimerName, ct.Tabbed, ct.Timer); includesTabs = (includesTabs == true || ct.Tabbed == true); includesTimers = (includesTimers == true || ct.Timer == true); if (ct.Tabbed == true || ct.Timer == true) { tn.BackColor = Color.Yellow; } tn.Text = t.Name; tn.Tag = t; tn.Checked = t.Enabled; tn.ImageIndex = 2; tn.SelectedImageIndex = 2; fn.Nodes.Add(tn); f.Triggers.Add(t); t.Parent = f; } } treeView1.ExpandAll(); if (includesTabs == true || includesTimers == true) { // todo 18n this warning = "Some of the imported ACT triggers include triggers which "; if (includesTabs == true) { warning += "add results to a tab"; if (includesTimers == true) { warning += " and fire timers."; } } else if (includesTimers == true) { warning += "fire timers."; } warning += " However, importing these options is currently not supported. The affected items have been highlighted below."; } if (warning.Length > 0) { lblWarning.Text = warning; lblWarning.Visible = true; } }