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); }
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); }