Files
OurUmbraco/Notification/SheduledNotification.cs
T
Sebastiaan Janssen 810cbd267f Initial commit
2012-12-17 09:41:11 +01:00

53 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.Timers;
using System.Reflection;
using System.Xml;
namespace NotificationsCore
{
public class SheduledNotification
{
public string Name { get; set; }
public double Interval { get; set; }
public string Assembly { get; set; }
public string Type { get; set; }
public XmlNode Details { get; set; }
Timer timer = new Timer();
public SheduledNotification(string name, double interval, string assembly, string type, XmlNode details)
{
this.Name = name;
this.Interval = interval;
this.Assembly = assembly;
this.Type = type;
this.Details = details;
}
public void Start()
{
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Interval = Interval;
timer.Enabled = true;
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
string assemblyFile =
String.Format("{0}.dll", Assembly);
Assembly nAssembly = System.Reflection.Assembly.LoadFrom(assemblyFile);
Notification n =
(Notification)Activator.CreateInstance(
nAssembly.GetType(Type));
n.SendNotification(Details);
}
}
}