using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Win32.TaskScheduler; namespace BodyshopPartner.Utils { public static class PaintScaleConfig { private static string workingDirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); public static void RegisterScheduledTask() { try { Microsoft.Win32.TaskScheduler.Task existingTask = TaskService.Instance.FindTask("ImEX Online Partner - Paint Scale Connection"); if(existingTask != null) { TaskService.Instance.RootFolder.DeleteTask("ImEX Online Partner - Paint Scale Connection"); } Microsoft.Win32.TaskScheduler.Task newTask = TaskService.Instance.AddTask("ImEX Online Partner - Paint Scale Connection", QuickTriggerType.Hourly, "powershell.exe", @"-ExecutionPolicy Bypass -File " + workingDirectory + @"\Utils\Scripts\PaintScaleExport.ps1"); newTask.Run(); } catch(Exception ex) { logger.Error(ex, "Error when trying to register scheduled task."); } } } }