Changes in tasker

This commit is contained in:
2022-03-20 23:06:36 +02:00
parent 7390e40643
commit 707e140d77
4 changed files with 59 additions and 8 deletions

View File

@@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup /> <PropertyGroup />
<ItemGroup>
<Compile Update="ScheduledTasker.cs">
<SubType>Component</SubType>
</Compile>
</ItemGroup>
<ItemGroup> <ItemGroup>
<Page Update="ResourceDictionary1.xaml"> <Page Update="ResourceDictionary1.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>

View File

@@ -1,11 +1,17 @@
using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;
using System.Threading;
namespace Installizer.PropertiesHelpers namespace Installizer.PropertiesHelpers
{ {
public class Winget public class Winget
{ {
public bool detect; public bool detect;
private bool DetectWinget() private bool DetectWinget()
{ {
System.Diagnostics.Process process = new System.Diagnostics.Process(); Process process = new();
process.StartInfo.FileName = "cmd"; process.StartInfo.FileName = "cmd";
process.StartInfo.Arguments = "/c winget"; process.StartInfo.Arguments = "/c winget";
process.StartInfo.UseShellExecute = false; process.StartInfo.UseShellExecute = false;
@@ -15,9 +21,34 @@ namespace Installizer.PropertiesHelpers
string g = process.StandardOutput.ReadToEnd(); string g = process.StandardOutput.ReadToEnd();
return g.Contains("Windows Package Manager"); 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() public Winget()
{ {
this.detect = DetectWinget(); this.detect = DetectWinget();
}
private static ParameterizedThreadStart ReadFile(string path)
{
return (new ParameterizedThreadStart(x => File.ReadAllText(path).Contains("winget")));
} }
} }
} }

View File

@@ -67,8 +67,10 @@ namespace Installizer {
#endregion #endregion
#region Constructors #region Constructors
public Tasker(JsonConstructorAttribute jsonConstructor) { [JsonConstructor]
public Tasker(string filePath) {
//foreach(var trig in jsonConstructor.) //foreach(var trig in jsonConstructor.)
var fileRead = JsonConvert.DeserializeObject<Newtonsoft.Json.Linq.JObject>(System.IO.File.ReadAllText(filePath));
} }
public Tasker(string Name, string Path) { 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.StartBoundary = DateTime.Today + TimeSpan.FromHours(int.Parse(hour.Split(":")[0])) + TimeSpan.FromMinutes(int.Parse(hour.Split(":")[1]));
dailyTrigger.Enabled = true; dailyTrigger.Enabled = true;
Triggers.Add(dailyTrigger); Triggers.Add(dailyTrigger);
_taskDefinition.Triggers.Add(dailyTrigger); //_taskDefinition.Triggers.Add(Triggers);
break; break;
} }
case Repitition.Weekly: { case Repitition.Weekly: {
@@ -131,7 +133,7 @@ namespace Installizer {
weeklyTrigger.DaysOfWeek = DaysOftheWeek(days); weeklyTrigger.DaysOfWeek = DaysOftheWeek(days);
weeklyTrigger.StartBoundary = DateTime.Today + TimeSpan.FromHours(int.Parse(hour.Split(":")[0])) + TimeSpan.FromMinutes(int.Parse(hour.Split(":")[1])); weeklyTrigger.StartBoundary = DateTime.Today + TimeSpan.FromHours(int.Parse(hour.Split(":")[0])) + TimeSpan.FromMinutes(int.Parse(hour.Split(":")[1]));
Triggers.Add(weeklyTrigger); Triggers.Add(weeklyTrigger);
_taskDefinition.Triggers.Add(weeklyTrigger); //_taskDefinition.Triggers.Add(weeklyTrigger);
break; break;
} }
case Repitition.Monthly: { case Repitition.Monthly: {
@@ -140,7 +142,7 @@ namespace Installizer {
monthlyTrigger.DaysOfMonth = days.Length > 0 ? DaysOfTheMonth(days) : DaysOfTheMonth("1"); 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; 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); Triggers.Add(monthlyTrigger);
_taskDefinition.Triggers.Add(monthlyTrigger); //_taskDefinition.Triggers.Add(monthlyTrigger);
break; 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.StartBoundary = DateTime.Today + TimeSpan.FromHours(int.Parse(hour.Split(":")[0])) + TimeSpan.FromMinutes(int.Parse(hour.Split(":")[1]));
dailyTrigger.Enabled = true; dailyTrigger.Enabled = true;
Triggers.Add(dailyTrigger); Triggers.Add(dailyTrigger);
_taskDefinition.Triggers.Add(dailyTrigger); //_taskDefinition.Triggers;
//_taskDefinition.Triggers.Add(dailyTrigger);
break; break;
} }
case Repitition.Weekly: { case Repitition.Weekly: {
@@ -177,7 +180,7 @@ namespace Installizer {
monthlyTrigger.DaysOfMonth = days.Length > 0 ? DaysOfTheMonth(days) : DaysOfTheMonth("1"); 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; 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); Triggers.Add(monthlyTrigger);
_taskDefinition.Triggers.Add(monthlyTrigger); //_taskDefinition.Triggers.Add(monthlyTrigger);
break; break;
} }
} }
@@ -317,7 +320,7 @@ namespace Installizer {
} }
public static void ImportTask(string Path) { public static void ImportTask(string Path) {
string data = System.IO.File.ReadAllText(Path); string data = System.IO.File.ReadAllText(Path);
Tasker tasker = Newtonsoft.Json.JsonConvert.DeserializeObject<Tasker>(data); Tasker tasker = JsonConvert.DeserializeObject<Tasker>(data);
tasker.SetTask(); tasker.SetTask();
} }
public static Tasker ExportTask(string taskName, string taskPath = "") { public static Tasker ExportTask(string taskName, string taskPath = "") {
@@ -382,5 +385,17 @@ namespace Installizer {
Console.WriteLine(DaysOfTheMonth(days)); Console.WriteLine(DaysOfTheMonth(days));
} }
#endregion #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;
}
}
} }
} }

Binary file not shown.