Changes in tasker
This commit is contained in:
@@ -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>
|
||||||
|
@@ -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")));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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.
Reference in New Issue
Block a user