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 757d3e7..0000000 Binary files a/Installizer/desktop.ini and /dev/null differ