コード例 #1
0
 internal UserLocationEventArguments(UserLocation Location, PersonalEventNotificationEventArgs e) :
     base(e)
 {
     this.location = Location;
 }
コード例 #2
0
        /// <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);
        }