public void SetTxAssigned(string fr) { _Logger.Trace($"SetTxAssigned <{fr}>"); FrTxAssigned notif = new FrTxAssigned(); notif.Frecuency = fr; notif.UserId = Top.Cfg.PositionId; Send(Identifiers.TopTopic, Identifiers.FR_TX_ASSIGNED_MSG, notif); }
private void OnMsgReceived(object sender, SpreadDataMsg msg) { try { _Logger.Trace($"OnMsgReceived <{msg.Type}>"); if ((msg.Type == Identifiers.FR_TX_CHANGE_RESPONSE_MSG) || (msg.Type == Identifiers.FR_RX_CHANGE_RESPONSE_MSG)) { FrChangeResponse answer = Deserialize <FrChangeResponse>(msg.Data, msg.Length); string type = Identifiers.TypeId(typeof(RdSrvFrRs)); string rsUid = answer.Frecuency.ToUpper() + "_" + type; _Logger.Trace($"OnMsg FR TX or RX Response <{answer.Frecuency}>: {rsUid}"); Top.WorkingThread.Enqueue("FrChangeAnswer", delegate() { Resource resource; //if (_Resources.TryGetValue(rsUid, out resource)) if (GetResource(rsUid, out resource)) { resource.NotifNewMsg(msg.Type, answer.Set); } else { _Logger.Error($"OnMsg FR TX or RX Response Error. Resource not Found <{rsUid}>"); } }); } else if (msg.Type == Identifiers.FR_TX_ASSIGNED_MSG) { FrTxAssigned notif = Deserialize <FrTxAssigned>(msg.Data, msg.Length); string type = Identifiers.TypeId(typeof(RdSrvFrRs)); string rsUid = notif.Frecuency.ToUpper() + "_" + type; _Logger.Trace($"OnMsg FR TX Assigned <{notif.Frecuency}>: {rsUid}"); Top.WorkingThread.Enqueue("FrTxAssignedNotif", delegate() { Resource resource; //if (_Resources.TryGetValue(rsUid, out resource)) if (GetResource(rsUid, out resource)) { resource.NotifNewMsg(msg.Type, notif.UserId); } else { _Logger.Error($"OnMsg FR TX Assigned Error. Resource not Found <{rsUid}>"); } }); } else if (msg.Type == Identifiers.FR_HF_TX_CHANGE_RESPONSE_MSG) { FrChangeResponse answer = Deserialize <FrChangeResponse>(msg.Data, msg.Length); string type = Identifiers.TypeId(typeof(RdSrvFrRs)); string rsUid = answer.Frecuency.ToUpper() + "_" + type; _Logger.Trace($"OnMsg HF TX Change Response <{answer.Frecuency}>: {rsUid}"); Top.WorkingThread.Enqueue("FrHfTxChangeAnswer", delegate() { Resource resource; //if (_Resources.TryGetValue(rsUid, out resource)) if (GetResource(rsUid, out resource)) { // resource.NotifNewMsg(msg.Type, answer.Set); resource.NotifNewMsg(msg.Type, answer.Estado); } else { _Logger.Error($"OnMsg HF TX Change Response Error. Resource not Found <{rsUid}>"); } }); } else if (msg.Type == Identifiers.SELCAL_PREPARE_RSP) { SelcalPrepareRsp resp = Deserialize <SelcalPrepareRsp>(msg.Data, msg.Length); string type = Identifiers.TypeId(typeof(RdSrvFrRs)); string rsUid = resp.Frecuency.ToUpper() + "_" + type; _Logger.Trace($"OnMsg SelCal Prepare Response <{resp.Frecuency}>: {rsUid}"); Top.WorkingThread.Enqueue("SelCalPrepareAnswer", delegate() { Resource resource; //if (_Resources.TryGetValue(rsUid, out resource)) if (GetResource(rsUid, out resource)) { resource.NotifSelCal(msg.Type, resp.Code); } else { _Logger.Error($"OnMsg SelCal Prepare Response Error. Resource not Found <{rsUid}>"); } }); } else if (msg.Type == Identifiers.SITE_CHANGING_RSP) { ChangeSiteRsp resp = Deserialize <ChangeSiteRsp>(msg.Data, msg.Length); string type = Identifiers.TypeId(typeof(RdSrvFrRs)); string rsUid = resp.Frecuency.ToUpper() + "_" + type; _Logger.Trace($"OnMsg Site Change Response <{resp.Frecuency}>: {rsUid}"); Top.WorkingThread.Enqueue("ChangingSiteResponse", delegate() { Resource resource; //if (_Resources.TryGetValue(rsUid, out resource)) if (GetResource(rsUid, out resource)) { resource.NotifSiteChanged(msg.Type, resp); } else { _Logger.Error($"OnMsg Site Change Response Error. Resource not Found <{rsUid}>"); } }); } #if _HF_GLOBAL_STATUS_ else if (msg.Type == Identifiers.HF_STATUS) { HFStatus status = Deserialize <HFStatus>(msg.Data, msg.Length); string type = "_" + Identifiers.TypeId(typeof(RdSrvFrRs)); Top.WorkingThread.Enqueue("HFStatus", delegate() { foreach (KeyValuePair <string, Resource> par in _Resources) { if (par.Key.Contains(type)) { par.Value.NotifNewMsg(msg.Type, status.code); } } } ); } else { _Logger.Error($"OnMsgReceived Error. Unknown type <{msg.Type}>"); } #endif } catch (Exception ex) { _Logger.Error("ERROR deserializando mensaje de tipo " + msg.Type, ex); } }