public void AddOrUpdateRadio(Guid unitKeyId, Guid agencyKeyId, string signalingFormat, string signalingUnitId, string radioName, string roleName, string personnelName, RadioTypeCode radioType, bool excludeFromRollCall)
        {
            if (string.IsNullOrWhiteSpace(signalingUnitId) || string.IsNullOrWhiteSpace(signalingFormat))
            {
                return;
            }
            string strKey = RadioInfo.GenerateLookupKey(signalingFormat, signalingUnitId);

            if (_radios.ContainsKey(strKey))
            {
                _radios[strKey].UnitKeyId           = unitKeyId;
                _radios[strKey].AgencyKeyId         = agencyKeyId;
                _radios[strKey].SignalingFormat     = signalingFormat;
                _radios[strKey].SignalingUnitId     = signalingUnitId;
                _radios[strKey].RadioName           = radioName;
                _radios[strKey].RoleName            = roleName;
                _radios[strKey].PersonnelName       = personnelName;
                _radios[strKey].RadioType           = radioType;
                _radios[strKey].ExcludeFromRollCall = excludeFromRollCall;
            }
            else
            {
                _radios[strKey] = new RadioInfo(unitKeyId, agencyKeyId, signalingFormat, signalingUnitId, radioName, roleName, personnelName, radioType, "MANUAL ENTRY", excludeFromRollCall);
            }
            MarkChangesMade();
        }
        public RadioInfo GetRadioInfoFromSignalingItem(RadioSignalingItem sigItem)
        {
            if (sigItem == null || string.IsNullOrWhiteSpace(sigItem.UnitId) || sigItem.SourceType == SignalingSourceType.StreamingTag)
            {
                return(null);
            }
            string radioLookupKey = RadioInfo.GenerateLookupKey(sigItem.SignalingFormat, sigItem.UnitId);

            if (_radios.ContainsKey(radioLookupKey))
            {
                return(_radios[radioLookupKey]);
            }
            return(null);
        }
        public void PerformLookupsOnRadioSignalItem(RadioSignalingItem sigItem)
        {
            if (sigItem == null || string.IsNullOrWhiteSpace(sigItem.UnitId) || sigItem.SourceType == SignalingSourceType.StreamingTag)
            {
                return;
            }
            RadioInfo rInfo = GetRadioInfoFromSignalingItem(sigItem);

            if (rInfo == null && _autoSaveContacts)
            {
                //should we save it?
                rInfo = new RadioInfo(Guid.Empty, Guid.Empty, sigItem.SignalingFormat, sigItem.UnitId, sigItem.UnitId, string.Empty, string.Empty, RadioTypeCode.Unknown, sigItem.SourceName, false);
                _radios[rInfo.SignalingLookupKey] = rInfo;
                MarkChangesMade();
            }
            if (rInfo != null)
            {
                sigItem.AssignedPersonnel = rInfo.PersonnelName;
                sigItem.AssignedRole      = rInfo.RoleName;
                sigItem.RadioName         = rInfo.RadioName;
                sigItem.RadioType         = rInfo.RadioType;
                bool bAgencySet = false;
                if (rInfo.UnitKeyId != Guid.Empty && _units.ContainsKey(rInfo.UnitKeyId))
                {
                    UnitInfo uInfo = _units[rInfo.UnitKeyId];
                    sigItem.UnitName = uInfo.UnitName;
                    if (uInfo.AgencyKeyId != Guid.Empty && _agencies.ContainsKey(uInfo.AgencyKeyId))
                    {
                        sigItem.AgencyName = _agencies[uInfo.AgencyKeyId].AgencyName;
                        bAgencySet         = true;
                    }
                }
                if (!bAgencySet && rInfo.AgencyKeyId != Guid.Empty)
                {
                    if (_agencies.ContainsKey(rInfo.AgencyKeyId))
                    {
                        sigItem.AgencyName = _agencies[rInfo.AgencyKeyId].AgencyName;
                    }
                }
            }
            if (string.IsNullOrWhiteSpace(sigItem.UnitName))
            {
                sigItem.UnitName = sigItem.UnitId;
            }
            if (string.IsNullOrWhiteSpace(sigItem.RadioName))
            {
                sigItem.RadioName = sigItem.UnitId;
            }
        }
 public void PerformLookupsOnRadioSignalItem(RadioSignalingItem sigItem)
 {
     if (sigItem == null || string.IsNullOrWhiteSpace(sigItem.UnitId) || sigItem.SourceType == SignalingSourceType.StreamingTag)
         return;
     RadioInfo rInfo = GetRadioInfoFromSignalingItem(sigItem);
     if (rInfo == null && _autoSaveContacts)
     {
         //should we save it?
         rInfo = new RadioInfo(Guid.Empty, Guid.Empty, sigItem.SignalingFormat, sigItem.UnitId, sigItem.UnitId, string.Empty, string.Empty, RadioTypeCode.Unknown, sigItem.SourceName, false);
         _radios[rInfo.SignalingLookupKey] = rInfo;
         MarkChangesMade();
     }
     if (rInfo != null)
     {
         sigItem.AssignedPersonnel = rInfo.PersonnelName;
         sigItem.AssignedRole = rInfo.RoleName;
         sigItem.RadioName = rInfo.RadioName;
         sigItem.RadioType = rInfo.RadioType;
         bool bAgencySet = false;
         if (rInfo.UnitKeyId != Guid.Empty && _units.ContainsKey(rInfo.UnitKeyId))
         {
             UnitInfo uInfo = _units[rInfo.UnitKeyId];
             sigItem.UnitName = uInfo.UnitName;
             if (uInfo.AgencyKeyId != Guid.Empty && _agencies.ContainsKey(uInfo.AgencyKeyId))
             {
                 sigItem.AgencyName = _agencies[uInfo.AgencyKeyId].AgencyName;
                 bAgencySet = true;
             }
         }
         if (!bAgencySet && rInfo.AgencyKeyId != Guid.Empty)
         {
             if (_agencies.ContainsKey(rInfo.AgencyKeyId))
             {
                 sigItem.AgencyName = _agencies[rInfo.AgencyKeyId].AgencyName;
             }
         }
     }
     if (string.IsNullOrWhiteSpace(sigItem.UnitName)) { sigItem.UnitName = sigItem.UnitId; }
     if (string.IsNullOrWhiteSpace(sigItem.RadioName)) { sigItem.RadioName = sigItem.UnitId; }
 }
        internal bool LoadInfoFromNode(System.Xml.XmlNode xNode)
        {
            bool bChangesMade = false;

            switch (xNode.Name.ToLower())
            {
            case "agencies":
            {
                foreach (XmlNode xAgency in xNode.ChildNodes)
                {
                    Guid agencyId = GetGuidAttribute(xAgency.Attributes["AgencyId"]);
                    if (agencyId == Guid.Empty)
                    {
                        agencyId     = Guid.NewGuid();
                        bChangesMade = true;
                    }
                    string agencyName = GetAttributeText(xAgency.Attributes["AgencyName"]);
                    _agencies[agencyId] = new AgencyInfo(agencyId, agencyName);
                }
                break;
            }

            case "units":
            {
                foreach (XmlNode xUnit in xNode.ChildNodes)
                {
                    Guid unitKeyId = GetGuidAttribute(xUnit.Attributes["UnitKeyId"]);
                    if (unitKeyId == Guid.Empty)
                    {
                        unitKeyId    = Guid.NewGuid();
                        bChangesMade = true;
                    }
                    Guid   agencyId = GetGuidAttribute(xUnit.Attributes["AgencyId"]);
                    string unitName = GetAttributeText(xUnit.Attributes["UnitName"]);
                    _units[unitKeyId] = new UnitInfo(unitKeyId, agencyId, unitName);
                }
                break;
            }

            case "radios":
            {
                foreach (XmlNode xRadio in xNode.ChildNodes)
                {
                    Guid          agencyId            = GetGuidAttribute(xRadio.Attributes["AgencyId"]);
                    Guid          unitKeyId           = GetGuidAttribute(xRadio.Attributes["UnitKeyId"]);
                    string        signalingFormat     = GetAttributeText(xRadio.Attributes["SignalingFormat"]);
                    string        signalingUnitId     = GetAttributeText(xRadio.Attributes["SignalingUnitId"]);
                    string        radioName           = GetAttributeText(xRadio.Attributes["RadioName"]);
                    string        roleName            = GetAttributeText(xRadio.Attributes["RoleName"]);
                    string        personnelName       = GetAttributeText(xRadio.Attributes["PersonnelName"]);
                    RadioTypeCode radioType           = GetEnumAttribute <RadioTypeCode>(xRadio.Attributes["RadioType"], RadioTypeCode.Unknown);
                    string        firstHeardSource    = GetAttributeText(xRadio.Attributes["FirstHeardSource"]);
                    bool          excludeFromRollcall = GetBoolAttribute(xRadio.Attributes["ExcludeFromRollcall"]);
                    RadioInfo     radioInfo           = new RadioInfo(unitKeyId, agencyId, signalingFormat, signalingUnitId, radioName, roleName, personnelName, radioType, firstHeardSource, excludeFromRollcall);
                    _radios[radioInfo.SignalingLookupKey] = radioInfo;
                }
                break;
            }
            }
            return(bChangesMade);
        }
 public void AddOrUpdateRadio(Guid unitKeyId, Guid agencyKeyId, string signalingFormat, string signalingUnitId, string radioName, string roleName, string personnelName, RadioTypeCode radioType, bool excludeFromRollCall)
 {
     if (string.IsNullOrWhiteSpace(signalingUnitId) || string.IsNullOrWhiteSpace(signalingFormat))
         return;
     string strKey = RadioInfo.GenerateLookupKey(signalingFormat, signalingUnitId);
     if (_radios.ContainsKey(strKey))
     {
         _radios[strKey].UnitKeyId = unitKeyId;
         _radios[strKey].AgencyKeyId = agencyKeyId;
         _radios[strKey].SignalingFormat = signalingFormat;
         _radios[strKey].SignalingUnitId = signalingUnitId;
         _radios[strKey].RadioName = radioName;
         _radios[strKey].RoleName = roleName;
         _radios[strKey].PersonnelName = personnelName;
         _radios[strKey].RadioType = radioType;
         _radios[strKey].ExcludeFromRollCall = excludeFromRollCall;
     }
     else
     {
         _radios[strKey] = new RadioInfo(unitKeyId, agencyKeyId, signalingFormat, signalingUnitId, radioName, roleName, personnelName, radioType, "MANUAL ENTRY", excludeFromRollCall);
     }
     MarkChangesMade();
 }
 internal bool LoadInfoFromNode(System.Xml.XmlNode xNode)
 {
     bool bChangesMade = false;
     switch (xNode.Name.ToLower())
     {
         case "agencies":
             {
                 foreach (XmlNode xAgency in xNode.ChildNodes)
                 {
                     Guid agencyId = GetGuidAttribute(xAgency.Attributes["AgencyId"]);
                     if (agencyId == Guid.Empty)
                     {
                         agencyId = Guid.NewGuid();
                         bChangesMade = true;
                     }
                     string agencyName = GetAttributeText(xAgency.Attributes["AgencyName"]);
                     _agencies[agencyId] = new AgencyInfo(agencyId, agencyName);
                 }
                 break;
             }
         case "units":
             {
                 foreach (XmlNode xUnit in xNode.ChildNodes)
                 {
                     Guid unitKeyId = GetGuidAttribute(xUnit.Attributes["UnitKeyId"]);
                     if (unitKeyId == Guid.Empty)
                     {
                         unitKeyId = Guid.NewGuid();
                         bChangesMade = true;
                     }
                     Guid agencyId = GetGuidAttribute(xUnit.Attributes["AgencyId"]);
                     string unitName = GetAttributeText(xUnit.Attributes["UnitName"]);
                     _units[unitKeyId] = new UnitInfo(unitKeyId, agencyId, unitName);
                 }
                 break;
             }
         case "radios":
             {
                 foreach (XmlNode xRadio in xNode.ChildNodes)
                 {
                     Guid agencyId = GetGuidAttribute(xRadio.Attributes["AgencyId"]);
                     Guid unitKeyId = GetGuidAttribute(xRadio.Attributes["UnitKeyId"]);
                     string signalingFormat = GetAttributeText(xRadio.Attributes["SignalingFormat"]);
                     string signalingUnitId = GetAttributeText(xRadio.Attributes["SignalingUnitId"]);
                     string radioName = GetAttributeText(xRadio.Attributes["RadioName"]);
                     string roleName = GetAttributeText(xRadio.Attributes["RoleName"]);
                     string personnelName = GetAttributeText(xRadio.Attributes["PersonnelName"]);
                     RadioTypeCode radioType = GetEnumAttribute<RadioTypeCode>(xRadio.Attributes["RadioType"], RadioTypeCode.Unknown);
                     string firstHeardSource = GetAttributeText(xRadio.Attributes["FirstHeardSource"]);
                     bool excludeFromRollcall = GetBoolAttribute(xRadio.Attributes["ExcludeFromRollcall"]);
                     RadioInfo radioInfo = new RadioInfo(unitKeyId, agencyId, signalingFormat, signalingUnitId, radioName, roleName, personnelName, radioType, firstHeardSource, excludeFromRollcall);
                     _radios[radioInfo.SignalingLookupKey] = radioInfo;
                 }
                 break;
             }
     }
     return bChangesMade;
 }
Example #8
0
 public RollCallItem(RadioInfo radioInfo, EmergencyState emergencyState)
 {
     _radioInfo = radioInfo;
     _emergencyState = emergencyState;
 }