示例#1
0
        public void HandleRadioInfoUpdated(string lookupKey)
        {
            RollCallItem rci = GetItemFromLookupKey(lookupKey);

            if (rci != null)
            {
                rci.RaiseDisplayInfoChanged();
            }
        }
示例#2
0
 private void AddToList(RollCallItem rci, ICollection <RollCallItem> rciList)
 {
     if (!_firegroundEnabled)
     {
         return;
     }
     if (rci == null || rciList == null)
     {
         return;
     }
     if (rciList.FirstOrDefault(r => r.SignalingLookupKey == rci.SignalingLookupKey) == null)
     {
         rciList.Add(rci);
     }
 }
示例#3
0
 private void RemoveFromList(RollCallItem rci, ICollection <RollCallItem> rciList)
 {
     if (!_firegroundEnabled)
     {
         return;
     }
     if (rci == null || rciList == null)
     {
         return;
     }
     RollCallItem[] rciArray = rciList.Where(r => r.SignalingLookupKey == rci.SignalingLookupKey).ToArray();
     if (rciArray != null && rciArray.Length > 0)
     {
         foreach (RollCallItem r in rciArray)
         {
             rciList.Remove(r);
         }
     }
 }
示例#4
0
        public void HandleRadioSignal(RadioSignalingItem sigItem, EmergencyState emerState = EmergencyState.NonEmergency)
        {
            if (!_firegroundEnabled)
            {
                return;
            }
            if (sigItem == null)
            {
                return;
            }
            RadioInfo rInfo = RadioInfoLookupHelper.Instance.GetRadioInfoFromSignalingItem(sigItem);

            if (rInfo == null || rInfo.ExcludeFromRollCall)
            {
                return;
            }

            RollCallItem rci = GetItemFromLookupKey(rInfo.SignalingLookupKey);

            if (rci == null)
            {
                rci = new RollCallItem(rInfo, emerState);
            }
            else
            {
                rci.EmergencyState = emerState;
            }
            if (_rollCallActive)
            {
                AddToGoodList(rci);
            }
            else
            {
                AddToWaitingList(rci);
            }
        }
示例#5
0
 public void RemoveFromRollCall(RollCallItem rci)
 {
     RemoveFromList(rci, _rollCallParticipants);
     RemoveFromList(rci, _rollCallGood);
     RemoveFromList(rci, _rollCallWaiting);
 }
示例#6
0
 public void AddToWaitingList(RollCallItem rci)
 {
     AddToParticipantsList(rci);
     RemoveFromList(rci, _rollCallGood);
     AddToList(rci, _rollCallWaiting);
 }
示例#7
0
 public void AddToParticipantsList(RollCallItem rci)
 {
     AddToList(rci, _rollCallParticipants);
 }