Changes in tasker
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup />
|
||||
<ItemGroup>
|
||||
<Compile Update="ScheduledTasker.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Page Update="ResourceDictionary1.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
|
@@ -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")));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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<Newtonsoft.Json.Linq.JObject>(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<Tasker>(data);
|
||||
Tasker tasker = JsonConvert.DeserializeObject<Tasker>(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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Binary file not shown.
Reference in New Issue
Block a user