/// <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) { UserTune Result = new UserTune(); foreach (XmlNode N in E.ChildNodes) { if (N is XmlElement E2) { switch (E2.LocalName) { case "artist": Result.artist = E2.InnerText; break; case "length": if (ushort.TryParse(E2.InnerText, out ushort us)) { Result.length = us; } break; case "rating": if (byte.TryParse(E2.InnerText, out byte b)) { Result.rating = b; } break; case "source": Result.source = E2.InnerText; break; case "title": Result.title = E2.InnerText; break; case "track": Result.track = E2.InnerText; break; case "uri": try { Result.uri = new Uri(E2.InnerText); } catch (Exception) { // Ignore. } break; } } } return(Result); }
internal UserTuneEventArguments(UserTune Tune, PersonalEventNotificationEventArgs e) : base(e) { this.tune = Tune; }