////////////////////////////////////////////////////////////////////////////////// private void ActualizarAlarma(object sender, EventArgs e) { try { if (Status != UBSLib.UBSModuleStatus.Closing && Status != UBSLib.UBSModuleStatus.Closed) { List <string> keyList = new List <string>(); if (m_alarmas.GetIds(sender.ToString(), out keyList)) { foreach (string val in keyList) { DescripcionAlarma da = new DescripcionAlarma(); if (m_alarmas.Descripcion(val, out da)) { //Ver estado actual de la alarma para saber si ha sido activada o desactivada. if (m_alarmas.AlarmaActiva(val)) { //Si ya ha sido activada con anterioridad no registrarla como activación de alarma. if (((AlarmForm)WindowForm).AñadirALista(da)) { WriteConsole("Alarma " + da.ID + " activada: " + da.Titulo, true); AlarmaActivada(val); if (!ButtonColor(Id, Color.Yellow, false)) { Error("Error al colorear la alarma " + da.ID, true, false); } } } else { //Si ya ha sido desactivada con anterioridad no registrarla como desactivación de alarma. if (((AlarmForm)WindowForm).BorrarDeLista(da)) { WriteConsole("Alarma " + da.ID + " desactivada: " + da.Titulo, true); AlarmaDesactivada(val); if (((AlarmForm)WindowForm).ListaVacia()) { if (!ButtonColor(Id, null, false)) { Error("Error al decolorear la alarma " + da.ID, true, false); } } } } } else { WriteConsole("No se encuentra la descripción de la alarma " + val + " entre las descripciones cargadas.", true); } } } else { WriteConsole("No se pueden actualizar las alarmas ya que no hay ninguna cargada.", true); } } } catch (Exception ex) { if (Status != UBSLib.UBSModuleStatus.Closing && Status != UBSLib.UBSModuleStatus.Closed) { var st = new StackTrace(ex, true); // Get the top stack frame var frame = st.GetFrame(0); // Get the line number from the stack frame var line = frame.GetFileLineNumber(); Error("Error al activar una alarma. Linea de código " + line + ": " + ex.Message); } } }