From 707e140d7700a0aec3477a2c2d2c79d0fff80d74 Mon Sep 17 00:00:00 2001 From: Benny Saret Date: Sun, 20 Mar 2022 23:06:36 +0200 Subject: [PATCH] Changes in tasker --- Installizer/Installizer.csproj.user | 5 ++++ Installizer/PropertiesHelpers/Winget.cs | 33 +++++++++++++++++++++++- Installizer/Tasker.cs | 29 ++++++++++++++++----- Installizer/desktop.ini | Bin 244 -> 0 bytes 4 files changed, 59 insertions(+), 8 deletions(-) delete mode 100644 Installizer/desktop.ini diff --git a/Installizer/Installizer.csproj.user b/Installizer/Installizer.csproj.user index 403a31c..7af78d7 100644 --- a/Installizer/Installizer.csproj.user +++ b/Installizer/Installizer.csproj.user @@ -1,6 +1,11 @@  + + + Component + + Designer diff --git a/Installizer/PropertiesHelpers/Winget.cs b/Installizer/PropertiesHelpers/Winget.cs index 29eda6f..c0645d0 100644 --- a/Installizer/PropertiesHelpers/Winget.cs +++ b/Installizer/PropertiesHelpers/Winget.cs @@ -1,11 +1,17 @@ +using System.Diagnostics; +using System.IO; +using System.Text.RegularExpressions; +using System.Threading; + namespace Installizer.PropertiesHelpers { public class Winget { public bool detect; + private bool DetectWinget() { - System.Diagnostics.Process process = new System.Diagnostics.Process(); + Process process = new(); process.StartInfo.FileName = "cmd"; process.StartInfo.Arguments = "/c winget"; process.StartInfo.UseShellExecute = false; @@ -15,9 +21,34 @@ namespace Installizer.PropertiesHelpers string g = process.StandardOutput.ReadToEnd(); return g.Contains("Windows Package Manager"); } + + public string? JsonApps + { + get + { + var a = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.json", SearchOption.AllDirectories); + foreach (string s in a) + { + if (Regex.IsMatch(s, "winget") /*|| (() => new ThreadStart(ReadFile(s)))*/) + { + return s; + } + } + + return null; + } + } + public Winget() { this.detect = DetectWinget(); + + } + + private static ParameterizedThreadStart ReadFile(string path) + { + return (new ParameterizedThreadStart(x => File.ReadAllText(path).Contains("winget"))); + } } } diff --git a/Installizer/Tasker.cs b/Installizer/Tasker.cs index 7f4902b..c02c141 100644 --- a/Installizer/Tasker.cs +++ b/Installizer/Tasker.cs @@ -67,8 +67,10 @@ namespace Installizer { #endregion #region Constructors - public Tasker(JsonConstructorAttribute jsonConstructor) { + [JsonConstructor] + public Tasker(string filePath) { //foreach(var trig in jsonConstructor.) + var fileRead = JsonConvert.DeserializeObject(System.IO.File.ReadAllText(filePath)); } public Tasker(string Name, string Path) { @@ -122,7 +124,7 @@ namespace Installizer { dailyTrigger.StartBoundary = DateTime.Today + TimeSpan.FromHours(int.Parse(hour.Split(":")[0])) + TimeSpan.FromMinutes(int.Parse(hour.Split(":")[1])); dailyTrigger.Enabled = true; Triggers.Add(dailyTrigger); - _taskDefinition.Triggers.Add(dailyTrigger); + //_taskDefinition.Triggers.Add(Triggers); break; } case Repitition.Weekly: { @@ -131,7 +133,7 @@ namespace Installizer { weeklyTrigger.DaysOfWeek = DaysOftheWeek(days); weeklyTrigger.StartBoundary = DateTime.Today + TimeSpan.FromHours(int.Parse(hour.Split(":")[0])) + TimeSpan.FromMinutes(int.Parse(hour.Split(":")[1])); Triggers.Add(weeklyTrigger); - _taskDefinition.Triggers.Add(weeklyTrigger); + //_taskDefinition.Triggers.Add(weeklyTrigger); break; } case Repitition.Monthly: { @@ -140,7 +142,7 @@ namespace Installizer { monthlyTrigger.DaysOfMonth = days.Length > 0 ? DaysOfTheMonth(days) : DaysOfTheMonth("1"); monthlyTrigger.MonthsOfYear = MonthsOfTheYear.January | MonthsOfTheYear.February | MonthsOfTheYear.March | MonthsOfTheYear.April | MonthsOfTheYear.May | MonthsOfTheYear.June | MonthsOfTheYear.July | MonthsOfTheYear.August | MonthsOfTheYear.September | MonthsOfTheYear.October | MonthsOfTheYear.November | MonthsOfTheYear.December; Triggers.Add(monthlyTrigger); - _taskDefinition.Triggers.Add(monthlyTrigger); + //_taskDefinition.Triggers.Add(monthlyTrigger); break; } } @@ -159,7 +161,8 @@ namespace Installizer { dailyTrigger.StartBoundary = DateTime.Today + TimeSpan.FromHours(int.Parse(hour.Split(":")[0])) + TimeSpan.FromMinutes(int.Parse(hour.Split(":")[1])); dailyTrigger.Enabled = true; Triggers.Add(dailyTrigger); - _taskDefinition.Triggers.Add(dailyTrigger); + //_taskDefinition.Triggers; + //_taskDefinition.Triggers.Add(dailyTrigger); break; } case Repitition.Weekly: { @@ -177,7 +180,7 @@ namespace Installizer { monthlyTrigger.DaysOfMonth = days.Length > 0 ? DaysOfTheMonth(days) : DaysOfTheMonth("1"); monthlyTrigger.MonthsOfYear = MonthsOfTheYear.January | MonthsOfTheYear.February | MonthsOfTheYear.March | MonthsOfTheYear.April | MonthsOfTheYear.May | MonthsOfTheYear.June | MonthsOfTheYear.July | MonthsOfTheYear.August | MonthsOfTheYear.September | MonthsOfTheYear.October | MonthsOfTheYear.November | MonthsOfTheYear.December; Triggers.Add(monthlyTrigger); - _taskDefinition.Triggers.Add(monthlyTrigger); + //_taskDefinition.Triggers.Add(monthlyTrigger); break; } } @@ -317,7 +320,7 @@ namespace Installizer { } public static void ImportTask(string Path) { string data = System.IO.File.ReadAllText(Path); - Tasker tasker = Newtonsoft.Json.JsonConvert.DeserializeObject(data); + Tasker tasker = JsonConvert.DeserializeObject(data); tasker.SetTask(); } public static Tasker ExportTask(string taskName, string taskPath = "") { @@ -382,5 +385,17 @@ namespace Installizer { Console.WriteLine(DaysOfTheMonth(days)); } #endregion + private Repitition GetRepitition(Newtonsoft.Json.Linq.JObject Trig) { + switch (int.Parse(Trig["TriggerType"].ToString())) { + case 2: + return Repitition.Daily; + case 3: + return Repitition.Weekly; + case 4: + return Repitition.Monthly; + default: + return Repitition.None; + } + } } } diff --git a/Installizer/desktop.ini b/Installizer/desktop.ini deleted file mode 100644 index 757d3e706e9f113cbae3a2b8da57fbd8f186fc05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244 zcmY+8u?oUK5JX=s_z(F22~n|7NTozlDO!3KA)Mwwjd&`4zLPBsvh3aL?#wU;QuZ`> zE~=%vBC1MmoM<^RWT1U(bKt?1f*_t}!=0SW7$voFcG^dwmzcG1F6{!xR&&c)ZzYH1 x=Mi;V>(bpiPsd7}z+1RyCCd2J-kaJnW31endT#%}NAFNbmrC_fkC-sEtY3M8DPI5p