// Decompiled with JetBrains decompiler
// Type: TaskScheduler.WeeklyTrigger
// Assembly: AutoKMS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: D1CED9E3-1FC7-49B8-B3AC-44976AB7F6E4
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\HackTool.Win32.KMSAuto.i-f317ba4d4051fad64a0aa45b587fa3dcea795bac30acec2872779abe31a07cbe.exe

using TaskSchedulerInterop;

namespace TaskScheduler
{
  public class WeeklyTrigger : StartableTrigger
  {
    public WeeklyTrigger(
      short hour,
      short minutes,
      DaysOfTheWeek daysOfTheWeek,
      short weeksInterval)
    {
      this.SetStartTime((ushort) hour, (ushort) minutes);
      this.taskTrigger.Type = TaskTriggerType.TIME_TRIGGER_WEEKLY;
      this.taskTrigger.Data.weekly.WeeksInterval = (ushort) weeksInterval;
      this.taskTrigger.Data.weekly.DaysOfTheWeek = (ushort) daysOfTheWeek;
    }

    public WeeklyTrigger(short hour, short minutes, DaysOfTheWeek daysOfTheWeek)
      : this(hour, minutes, daysOfTheWeek, (short) 1)
    {
    }

    internal WeeklyTrigger(ITaskTrigger iTrigger)
      : base(iTrigger)
    {
    }

    public short WeeksInterval
    {
      get => (short) this.taskTrigger.Data.weekly.WeeksInterval;
      set
      {
        this.taskTrigger.Data.weekly.WeeksInterval = (ushort) value;
        this.SyncTrigger();
      }
    }

    public DaysOfTheWeek WeekDays
    {
      get => (DaysOfTheWeek) this.taskTrigger.Data.weekly.DaysOfTheWeek;
      set
      {
        this.taskTrigger.Data.weekly.DaysOfTheWeek = (ushort) value;
        this.SyncTrigger();
      }
    }
  }
}
