From 415838753cea133b291fec53adbe4851c09365be Mon Sep 17 00:00:00 2001 From: 1kamma Date: Sat, 9 Oct 2021 02:36:34 +0300 Subject: [PATCH] cosmetic changes only --- Installizer/Tasker.cs | 208 +++++++++++++++--------------------------- 1 file changed, 73 insertions(+), 135 deletions(-) diff --git a/Installizer/Tasker.cs b/Installizer/Tasker.cs index a552997..d413451 100644 --- a/Installizer/Tasker.cs +++ b/Installizer/Tasker.cs @@ -1,24 +1,20 @@ using Microsoft.Win32.TaskScheduler; using Newtonsoft.Json.Linq; -namespace Installizer -{ - public class Tasker - { +namespace Installizer { + public class Tasker { #region Constructors private string TaskName; - string TaskPath; - TaskService serv; - TaskDefinition taskDefinition; - public Tasker(string TaskName, string TaskPath) - { + private string TaskPath; + private TaskService serv; + private TaskDefinition taskDefinition; + public Tasker(string TaskName, string TaskPath) { this.TaskName = TaskName; this.TaskPath = TaskPath; this.serv = new(); this.taskDefinition = this.serv.NewTask(); } - public Tasker(string TaskName, string TaskPath, string description) - { + public Tasker(string TaskName, string TaskPath, string description) { this.TaskName = TaskName; this.TaskPath = TaskPath; this.serv = new(); @@ -31,8 +27,7 @@ namespace Installizer /// This function adds description to the scheduled task. /// /// the description text to add - public void TaskDescribe(string description) - { + public void TaskDescribe(string description) { this.taskDefinition.RegistrationInfo.Description = description; this.taskDefinition.RegistrationInfo.Author = $"{System.Environment.MachineName}\\{System.Environment.UserName}"; } @@ -43,8 +38,7 @@ namespace Installizer /// enables the task. the default is true /// starts the task if it missed, when the computer is availible. the defult is true /// hides the running. the default is false - public void TaskSettingsDefine(bool batteries = true, bool enable = true, bool startwhenavailibale = true, bool hidden = false) - { + public void TaskSettingsDefine(bool batteries = true, bool enable = true, bool startwhenavailibale = true, bool hidden = false) { this.taskDefinition.Settings.DisallowStartIfOnBatteries = !batteries; this.taskDefinition.Settings.StopIfGoingOnBatteries = !batteries; this.taskDefinition.Settings.Enabled = enable; @@ -52,104 +46,78 @@ namespace Installizer this.taskDefinition.Settings.Hidden = hidden; } - public void TaskPrincipal(bool highest = false, bool service = false, string user = "") - { - if (highest) - { + public void TaskPrincipal(bool highest = false, bool service = false, string user = "") { + if (highest) { this.taskDefinition.Principal.RunLevel = TaskRunLevel.Highest; - } - else - { + } else { this.taskDefinition.Principal.RunLevel = TaskRunLevel.LUA; } - if (service) - { + if (service) { this.taskDefinition.Principal.LogonType = TaskLogonType.S4U; - } - else - { + } else { this.taskDefinition.Principal.LogonType = TaskLogonType.Password; } - if (user != "") - { + if (user != "") { this.taskDefinition.Principal.Id = user; - } - else - { + } else { this.taskDefinition.Principal.Id = $"{System.Environment.MachineName}\\{System.Environment.UserName}"; } } - public void TaskEventTriggerDefine(string logName, string logSource, int eventID) - { - EventTrigger trigger = new EventTrigger(); + public void TaskEventTriggerDefine(string logName, string logSource, int eventID) { + EventTrigger trigger = new(); trigger.Enabled = true; trigger.SetBasic(logName, logSource, eventID); this.taskDefinition.Triggers.Add(trigger); } - - public void TaskDailyTriggerrDefine(string hour) - { + public void TaskDailyTriggerrDefine(string hour) { DailyTrigger trigger = new(); trigger.Enabled = true; - int h = System.Int32.Parse(hour.Split(":")[0]); - int m = System.Int32.Parse(hour.Split(":")[1]); + int h = int.Parse(hour.Split(":")[0]); + int m = int.Parse(hour.Split(":")[1]); trigger.StartBoundary = System.DateTime.Today + System.TimeSpan.FromHours(h) + System.TimeSpan.FromMinutes(m); //trigger.Repetition.Duration = System.TimeSpan.FromDays(1); //trigger.Repetition.Interval = System.TimeSpan.FromMinutes(1); this.taskDefinition.Triggers.Add(trigger); } - public void TaskDailyTriggersDefine(string[] hours) - { - foreach (string hour in hours) - { + public void TaskDailyTriggersDefine(string[] hours) { + foreach (string hour in hours) { TaskDailyTriggerrDefine(hour); } } - public void TaskWeeklyTriggerDefine(string hour, int day) - { - WeeklyTrigger trigger = WeeklyTriggerCreate(hour, day); - this.taskDefinition.Triggers.Add(trigger); + public void TaskWeeklyTriggerDefine(WeeklyTrigger trig) { + this.taskDefinition.Triggers.Add(trig); } - public void TaskActionsDefine(string app, string? argus, string? location) - { + public void TaskWeeklyTriggerDefine(string hour, int day) { + this.taskDefinition.Triggers.Add(WeeklyTriggerCreate(hour, day)); + } + public void TaskActionsDefine(string app, string? argus, string? location) { ExecAction action = new(); action.Path = app; - if (argus != null) - { + if (argus != null) { action.Arguments = argus; } - if (location != null) - { + if (location != null) { action.WorkingDirectory = location; } this.taskDefinition.Actions.Add(action); } - public void TaskActionsDefine(string[] apps, string?[] argus, string?[] locations) - { - for (int i = 0; i < apps.Length; i++) - { + public void TaskActionsDefine(string[] apps, string?[] argus, string?[] locations) { + for (int i = 0; i < apps.Length; i++) { TaskActionsDefine(apps[i], argus[i], locations[i]); } } - public void TaskWeeklyTriggerDefine(string hour, int[] days) - { + public void TaskWeeklyTriggerDefine(string hour, int[] days) { this.taskDefinition.Triggers.Add(WeeklyTriggerCreate(hour, days)); } - public void TaskWeeklyTriggerDefine(string[] hours, int[] days) - { - foreach (string hour in hours) - { + public void TaskWeeklyTriggerDefine(string[] hours, int[] days) { + foreach (string hour in hours) { TaskWeeklyTriggerDefine(hour, days); } } - public void RegisterTask() - { - try - { + public void RegisterTask() { + try { this.serv.RootFolder.RegisterTaskDefinition($"{this.TaskPath}\\{this.TaskName}", this.taskDefinition); - } - catch - { + } catch { this.serv.RootFolder.RegisterTaskDefinition(this.TaskPath, this.taskDefinition); } @@ -160,59 +128,47 @@ namespace Installizer #endregion #region Helpers - private System.DateTime Day(int day) - { - if (day > 0 && day < 8) - { + private System.DateTime Day(int day) { + if (day > 0 && day < 8) { return new System.DateTime(1977, 12, 31).AddDays(day); } return new System.DateTime(1978, 1, 1); } - private System.DateTime HourTime(string time) - { + private System.DateTime HourTime(string time) { return System.DateTime.Parse(time); } - private WeeklyTrigger WeeklyTriggerCreate(string hour, int day) - { + private WeeklyTrigger WeeklyTriggerCreate(string hour, int day) { WeeklyTrigger trigger = new(); DaysOfTheWeek dayS; - switch (day) - { - case 1: - { + switch (day) { + case 1: { dayS = DaysOfTheWeek.Sunday; break; } - case 2: - { + case 2: { dayS = DaysOfTheWeek.Monday; break; } - case 3: - { + case 3: { dayS = DaysOfTheWeek.Tuesday; break; } - case 4: - { + case 4: { dayS = DaysOfTheWeek.Wednesday; break; } - case 5: - { + case 5: { dayS = DaysOfTheWeek.Thursday; break; } - case 6: - { + case 6: { dayS = DaysOfTheWeek.Friday; break; } - default: - { + default: { dayS = DaysOfTheWeek.Saturday; break; } @@ -221,57 +177,46 @@ namespace Installizer trigger.StartBoundary = System.DateTime.Parse(hour, System.Globalization.CultureInfo.InvariantCulture); return trigger; } - private WeeklyTrigger WeeklyTriggerCreate(string hour, int[] day) - { + private WeeklyTrigger WeeklyTriggerCreate(string hour, int[] day) { WeeklyTrigger trigger = new(); DaysOfTheWeek[] dayS = new DaysOfTheWeek[day.Length]; - for (int i = 0; i < day.Length; i++) - { + for (int i = 0; i < day.Length; i++) { - switch (day[i]) - { - case 1: - { + switch (day[i]) { + case 1: { dayS[i] = DaysOfTheWeek.Sunday; break; } - case 2: - { + case 2: { dayS[i] = DaysOfTheWeek.Monday; break; } - case 3: - { + case 3: { dayS[i] = DaysOfTheWeek.Tuesday; break; } - case 4: - { + case 4: { dayS[i] = DaysOfTheWeek.Wednesday; break; } - case 5: - { + case 5: { dayS[i] = DaysOfTheWeek.Thursday; break; } - case 6: - { + case 6: { dayS[i] = DaysOfTheWeek.Friday; break; } - default: - { + default: { dayS[i] = DaysOfTheWeek.Saturday; break; } } } - foreach (var d in dayS) - { + foreach (var d in dayS) { trigger.DaysOfWeek |= d; } trigger.StartBoundary = System.DateTime.Parse(hour, System.Globalization.CultureInfo.InvariantCulture); @@ -311,19 +256,16 @@ namespace Installizer // trigger.StartBoundary = new DateTime[dates.Length]; //} #region Jsoner - public static void ExportJson(string path, Tasker task) - { + public static void ExportJson(string path, Tasker task) { var tas = Newtonsoft.Json.JsonConvert.SerializeObject(task, Newtonsoft.Json.Formatting.Indented); System.IO.File.WriteAllText(path, tas); } - public void ExportJson() - { + public void ExportJson() { JObject Task = new(); Task.Add(new JProperty("TaskName", this.TaskName)); Task.Add(new JProperty("TaskPath", this.TaskPath)); JArray actions = new(); - foreach (var act in this.taskDefinition.Actions) - { + foreach (var act in this.taskDefinition.Actions) { JArray array = new(); array.Add(((ExecAction)act).Path); @@ -331,24 +273,21 @@ namespace Installizer array.Add(((ExecAction)act).WorkingDirectory); actions.Add(array); } - foreach (var trig in this.taskDefinition.Triggers) - { - JArray triggers = new JArray(); + foreach (var trig in this.taskDefinition.Triggers) { + JArray triggers = new(); // TODO: continue } //Task.Add(new JProperty()) } - public static TriggerCollection GetDailyTrigger(JObject triggers) - { + public static TriggerCollection GetDailyTrigger(JObject triggers) { TaskService task = new(); TriggerCollection result = task.NewTask().Triggers; - foreach (var trig in triggers["dayly"]) - { - DailyTrigger trigger = new DailyTrigger(); - int h = System.Int32.Parse(trig.ToString().Split(":")[0]); - int m = System.Int32.Parse(trig.ToString().Split(":")[1]); + foreach (var trig in triggers["dayly"]) { + DailyTrigger trigger = new(); + int h = int.Parse(trig.ToString().Split(":")[0]); + int m = int.Parse(trig.ToString().Split(":")[1]); trigger.StartBoundary = System.DateTime.Today + System.TimeSpan.FromHours(h) + System.TimeSpan.FromMinutes(m); trigger.Repetition.Duration = System.TimeSpan.FromDays(1); trigger.Repetition.Interval = System.TimeSpan.FromMinutes(1); @@ -366,8 +305,7 @@ namespace Installizer // } //} - public static void ImportTasks(string jsonFile) - { + public static void ImportTasks(string jsonFile) { JObject SchedTask = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(System.IO.File.ReadAllText(jsonFile)); Tasker tasker = new(SchedTask["TaskName"].ToString(), SchedTask["TaskPath"].ToString(), SchedTask["Description"].ToString());