/// <summary>Parse</summary> /// <param name="tag">Zune Tag</param> private void Parse(string tag) { ZuneCard card = Parser.Card(tag); if (card != null) { if (Exists(tag)) { int position; ZuneCard previous = new ZuneCard(); previous = Get(tag); position = ZuneCards.IndexOf(previous); Remove(previous); ZuneCards.Insert(position, card); } else { ZuneCards.Add(card); } NotifyPropertyChanged(PROP_ZUNECARDS); NotifyPropertyChanged(PROP_ZUNECARD); Completed(this, EventArgs.Empty); } else { Failed(this, EventArgs.Empty); } }
/// <summary>Parse Profile</summary> /// <param name="zunecard">ZuneCard</param> /// <param name="data">XML Data</param> private void ParseProfile(ZuneCard zunecard, string data) { XElement elements = XElement.Parse(data); zunecard.Plays = int.Parse(elements.Element(NS_PROFILE + TAG_PLAYCOUNT).Value); zunecard.Tile = ParseProfileImage(elements.Element(NS_PROFILE + TAG_IMAGES), VALUE_USER_TILE); zunecard.Background = ParseProfileImage(elements.Element(NS_PROFILE + TAG_IMAGES), VALUE_BACKGROUND); zunecard.Name = elements.Element(NS_PROFILE + TAG_DISPLAY_NAME).Value; zunecard.Status = elements.Element(NS_PROFILE + TAG_STATUS).Value; zunecard.Biography = elements.Element(NS_PROFILE + TAG_BIO).Value; zunecard.Location = elements.Element(NS_PROFILE + TAG_LOCATION).Value; }
/// <summary>Remove Tag</summary> /// <param name="card">Zune Card</param> public void Remove(ZuneCard card) { ZuneCards.Remove(card); NotifyPropertyChanged(PROP_ZUNECARD); NotifyPropertyChanged(PROP_ZUNECARDS); }
/// <summary>Refresh</summary> /// <param name="card">Zune Card</param> public void Refresh(ZuneCard card) { Add(card.Tag); }