/// <summary> /// Cancel native alarm /// and then deactivate AlarmRecord from AlarmRecordDictionary /// </summary> /// <param name="record">AlarmRecord</param> public static void DeactivatelAlarm(AlarmRecord record) { //1. cancel native alarm AlarmNativeHandler.DeleteAlarm(record); //2. Make AlarmRecord's AlarmState string UID = record.GetUniqueIdentifier(); UpdateDictionaryAndList(UID, 0, false); }
/// <summary> /// Cancel native alarm /// and then remove AlarmRecord from ObservableAlarmList and AlarmRecordDictionary /// </summary> /// <param name="alarm">AlarmRecord</param> public static void DeleteAlarm(AlarmRecord alarm) { Console.WriteLine("DeleteAlarm:" + alarm.ToString()); // Cancel the native alarm AlarmNativeHandler.DeleteAlarm(alarm); string UID = alarm.GetUniqueIdentifier(); // Delete alarm from dictionary AlarmModel.AlarmRecordDictionary.Remove(UID); // Delete alarm from List for (int i = AlarmModel.ObservableAlarmList.Count - 1; i >= 0; i--) { if (AlarmModel.ObservableAlarmList[i].GetUniqueIdentifier() == UID) { ObservableAlarmList.RemoveAt(i); break; } } AlarmModel.SaveDictionary(); }