Beispiel #1
0
        public async Task <QrzApiXml.QRZDatabase> GetDxccInfo(string dxcc)
        {
            QrzApiXml.QRZDatabase xmlResult = ConvertResultToXml(await QrzApiRequest(dxcc, "dxcc"));
            if (!string.IsNullOrEmpty(xmlResult.Session.Error))
            {
                switch (xmlResult.Session.Error)
                {
                case "Session Timeout":
                {
                    _logger.LogInformation("QRZ Api Key needs to be refreshed... attempting to update");
                    await GetKey();

                    break;
                }

                case "Invalid session key":
                {
                    _logger.LogInformation("QRZ Api Key needs to be refreshed... attempting to update");
                    await GetKey();

                    break;
                }
                }
                xmlResult = ConvertResultToXml(await QrzApiRequest(dxcc, "dxcc"));
            }
            else if (!string.IsNullOrEmpty(xmlResult.Session.Error) && !xmlResult.Session.Error.Contains("Not found:"))
            {
                _logger.LogError($"Error accessing QRZ Api -> [{xmlResult.Session.Error}]!");
            }
            return(xmlResult);
        }
Beispiel #2
0
        public QrzApiXml.QRZDatabase GetQrzResultFromString(StreamReader input)
        {
            var ser       = new XmlSerializer(typeof(QrzApiXml.QRZDatabase), new XmlRootAttribute("QRZDatabase"));
            var converted = new QrzApiXml.QRZDatabase();

            using (XmlTextReader reader = new XmlTextReader(input))
            {
                reader.Namespaces = false;
                converted         = (QrzApiXml.QRZDatabase)ser.Deserialize(reader);
            }

            return(converted);
        }