/// <summary>
 /// Constructor: initializes snoozeUntilTime to harmless value
 /// </summary>
 public AlarmController()
 {
     this.alarmList       = new List <Alarm>();
     this.audioController = AbstractAudioController.GetController();
     this.guiController   = AbstractGuiController.GetController();
     this.snoozeUntilTime = TimeFetcher.getCurrentTime();
 }
 /// <summary>
 /// Called when the application exits
 /// </summary>
 protected override void OnExit(ExitEventArgs e)
 {
     base.OnExit(e);
     //turn off all alarms
     AbstractAudioController.GetController().endAllAlarms();
     //teardown the alarm/time controllers
     ac.Teardown();
     //finally save any residual state data
     AbstractDataDriver.Instance.Shutdown();
 }