rendered paste bodyusing System;
using MayhemCore;
using System.Globalization;
using System.Windows;
using System.Windows.Threading;
using System.Runtime.Serialization;
using System.Threading;
namespace PreGsocTest1
{
[DataContract]
[MayhemModule("Alarm","This event triggers alarm at a particular time.")]
public class TimeTrigger : EventBase
{
[DataMember]
private int hours;
[DataMember]
private int minutes;
[DataMember]
private int seconds;
//DispatcherTimer timer;
protected override void OnLoadDefaults()
{
//base.OnLoadDefaults();
//seconds = minutes = hours = 0;
seconds = 0;
minutes = 40;
hours = 10;
}
protected override void OnAfterLoad()
{
//timer = new DispatcherTimer();
//timer.Tick += AlarmTimeHit;
}
private void intervals()
{
DateTime now = DateTime.Now;
DateTime alarmTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, hours, minutes, seconds);
//timer = new DispatcherTimer();
//timer.Interval = new TimeSpan(alarmTime.Subtract(now).Ticks);
int ms = (int)alarmTime.Subtract(now).TotalMilliseconds;
//Console.Write(ms.ToString());
Thread.Sleep(ms);
AlarmTimeHit(null, null);
alarmTime.AddDays(1);
}
private void AlarmTimeHit(object o, EventArgs a)
{
//timer.Interval = new TimeSpan(24, 0, 0);
Trigger();
}
protected override void OnEnabling(EnablingEventArgs e)
{
intervals();
//timer.Start();
}
protected override void OnDisabled(DisabledEventArgs e)
{
//timer.Stop();
}
}
}