internal UserLocationEventArguments(UserLocation Location, PersonalEventNotificationEventArgs e) : base(e) { this.location = Location; }
/// <summary> /// Parses a personal event from its XML representation /// </summary> /// <param name="E">XML representation of personal event.</param> /// <returns>Personal event object.</returns> public override IPersonalEvent Parse(XmlElement E) { UserLocation Result = new UserLocation(); foreach (XmlNode N in E.ChildNodes) { if (N is XmlElement E2) { switch (E2.LocalName) { case "accuracy": if (CommonTypes.TryParse(E2.InnerText, out decimal d)) { Result.accuracy = d; } break; case "alt": if (CommonTypes.TryParse(E2.InnerText, out d)) { Result.alt = d; } break; case "altaccuracy": if (CommonTypes.TryParse(E2.InnerText, out d)) { Result.altaccuracy = d; } break; case "area": Result.area = E2.InnerText; break; case "bearing": if (CommonTypes.TryParse(E2.InnerText, out d)) { Result.bearing = d; } break; case "building": Result.building = E2.InnerText; break; case "country": Result.country = E2.InnerText; break; case "countrycode": Result.countrycode = E2.InnerText; break; case "datum": Result.datum = E2.InnerText; break; case "description": Result.description = E2.InnerText; break; case "error": if (CommonTypes.TryParse(E2.InnerText, out d)) { Result.accuracy = d; } break; case "floor": Result.floor = E2.InnerText; break; case "lat": if (CommonTypes.TryParse(E2.InnerText, out d)) { Result.lat = d; } break; case "locality": Result.locality = E2.InnerText; break; case "lon": if (CommonTypes.TryParse(E2.InnerText, out d)) { Result.lon = d; } break; case "postalcode": Result.postalcode = E2.InnerText; break; case "region": Result.region = E2.InnerText; break; case "room": Result.room = E2.InnerText; break; case "speed": if (CommonTypes.TryParse(E2.InnerText, out d)) { Result.speed = d; } break; case "street": Result.street = E2.InnerText; break; case "text": Result.text = E2.InnerText; break; case "timestamp": if (XML.TryParse(E2.InnerText, out DateTime TP)) { Result.timestamp = TP; } break; case "tzo": Result.tzo = E2.InnerText; break; case "uri": try { Result.uri = new Uri(E2.InnerText); } catch (Exception) { // Ignore. } break; } } } return(Result); }