public void OnRadioChanged(object sender, RangeMsg e) { Debug.Assert(e.Count > 0); int absPageBegin = _RdPageBT.Page * _NumPositionsByPage; for (int i = Math.Max(e.From, absPageBegin), to = Math.Min(e.From + e.Count, absPageBegin + _NumPositionsByPage); i < to; i++) { RdButton bt = _RdButtons[i - absPageBegin]; RdDst dst = _StateManager.Radio[i]; /* * if (!dst.Restored || dst.Unavailable) * { * Reset(bt, dst); * * if (!dst.Unavailable && i < Settings.Default.AssignatedStates.Count) * { * Settings.Default.AssignatedStates.RemoveAt(i - absPageBegin); * Settings.Default.AssignatedStates.Insert(i - absPageBegin, dst.Frecuency + "," + dst.Rx.ToString() + "," + dst.Tx + * "," + dst.AudioVia + "," + dst.Unavailable); * } * else if (!dst.Unavailable) * { * Settings.Default.AssignatedStates.Add(dst.Frecuency + "," + dst.Rx.ToString() + "," + dst.Tx + * "," + dst.AudioVia + "," + dst.Unavailable); * } * // Envío de vuelta confirmación para que Engine envíe histórico (si corresponde) * // De momento a este comando solo se atiende si Engine es OPE (CD30) * _CmdManager.SendCmdHistoricalEvent(_StateManager.Title.Id, dst.Frecuency); * } * else*/ { EstadoAsignacion estado = _EstadosAsignacion[i - absPageBegin]; Reset(bt, dst, ref estado); //Reset(bt, dst); _EstadosAsignacion[i - absPageBegin] = estado; if (/*!dst.Unavailable &&*/ i < Settings.Default.AssignatedStates.Count) { Settings.Default.AssignatedStates.RemoveAt(i - absPageBegin); Settings.Default.AssignatedStates.Insert(i - absPageBegin, dst.Frecuency + "," + estado._Rx.ToString() + "," + estado._Tx + "," + dst.AudioVia + "," + dst.Unavailable); } else //if (!dst.Unavailable) { Settings.Default.AssignatedStates.Add(dst.Frecuency + "," + estado._Rx.ToString() + "," + estado._Tx + "," + dst.AudioVia + "," + dst.Unavailable); } // Envío de vuelta confirmación para que Engine envíe histórico (si corresponde) // De momento a este comando solo se atiende si Engine es OPE (CD30) _CmdManager.SendCmdHistoricalEvent(_StateManager.Title.Id, dst.Frecuency); } } Settings.Default.Save(); _RtxBT.Enabled = _RtxEnabled; }