/** Esta funcion se ha trasladado al Model Module */ //private void RecuperaEstadoAsignacionFrecuencias() //{ // int absPageBegin = _urrRdPageButton.Page * _NumPositionsByPage; // for (int i = absPageBegin, to = absPageBegin + _NumPositionsByPage; i < to; i++) // { // if (i < Settings.Default.AssignatedStates.Count) // { // string[] estado = Settings.Default.AssignatedStates[i].Split(','); // EstadoAsignacion eAsignacion = new EstadoAsignacion(); // eAsignacion._Rx = estado[1] == "True"; // eAsignacion._Tx = estado[2] == "True"; // switch (estado[3]) // { // case "HeadPhones": // eAsignacion._AudioVia = RdRxAudioVia.HeadPhones; // break; // case "Speaker": // eAsignacion._AudioVia = RdRxAudioVia.Speaker; // break; // case "NoAudio": // eAsignacion._AudioVia = RdRxAudioVia.NoAudio; // break; // } // _EstadosAsignacion[i - absPageBegin] = eAsignacion; // } // } //} private void Reset(UrrRdButton bt, RdDst dst, ref EstadoAsignacion estado) { Reset(bt, dst); if (!dst.Unavailable && estado.Unavailable && !_StateManager.ScreenSaver.On) { if (estado._Rx && !dst.Rx) { //RdButton_RxShortClick(bt, null); Forced_RxShortClick(bt); } else if (estado._AudioVia == RdRxAudioVia.HeadPhones) { if (dst.TipoFrecuencia == TipoFrecuencia_t.HF && (dst.AudioVia == RdRxAudioVia.HfSpeaker || dst.AudioVia == RdRxAudioVia.Speaker)) { //RdButton_RxShortClick(bt, null); Forced_RxShortClick(bt); } else if (dst.TipoFrecuencia != TipoFrecuencia_t.HF && dst.AudioVia == RdRxAudioVia.Speaker) { //RdButton_RxShortClick(bt, null); Forced_RxShortClick(bt); } } else if (estado._AudioVia == RdRxAudioVia.HfSpeaker && dst.AudioVia == RdRxAudioVia.Speaker) { //RdButton_RxShortClick(bt, null); Forced_RxShortClick(bt); } if (estado._Tx && !dst.Tx) { //RdButton_TxClick(bt, null); try { // Forzar la asignación de Tx independientemente de si está ya asignada en otra posición _CmdManager.RdConfirmTxState(bt.Id); } catch (Exception ex) { int pos = _RdButtons.IndexOf(bt); string msg = string.Format("ERROR modificando Tx de frecuencia RD [Pos={0}] [Id={1}]", pos, bt.Id); _Logger.Error(msg, ex); } } } else if (!dst.Unavailable && !estado.Unavailable) { estado._Tx = dst.Tx; estado._Rx = dst.Rx; estado._AudioVia = dst.AudioVia; } estado.Unavailable = dst.Unavailable || estado._Rx != dst.Rx || estado._Tx != dst.Tx || estado._AudioVia != dst.AudioVia; }