private void OnGroupPhotosReturned(object sender, GetGroupPhotosEventArgs e) { if (!Cinderella.CinderellaCore.GroupCache.ContainsKey(e.GroupId)) return; FlickrGroup group = Cinderella.CinderellaCore.GroupCache[e.GroupId]; JObject rawJson = JObject.Parse(e.Response); JObject rootJson = (JObject)rawJson["photos"]; int TotalCount = int.Parse(rootJson["total"].ToString()); int page = int.Parse(rootJson["page"].ToString()); int numPages = int.Parse(rootJson["pages"].ToString()); int perPage = int.Parse(rootJson["perpage"].ToString()); List<Photo> newPhotos = new List<Photo>(); foreach (var entry in rootJson["photo"]) { JObject json = (JObject)entry; Photo photo = PhotoFactory.PhotoWithJObject(json); if (!group.Photos.Contains(photo)) { group.Photos.Add(photo); newPhotos.Add(photo); } } // Dispatch event GroupPhotoListUpdatedEventArgs evt = new GroupPhotoListUpdatedEventArgs(); evt.GroupId = group.ResourceId; evt.Page = page; evt.PageCount = numPages; evt.PerPage = perPage; evt.NewPhotos = newPhotos; GroupPhotoListUpdated.DispatchEvent(this, evt); }
// Photo stream updated private void OnPhotoStreamUpdated(object sender, GroupPhotoListUpdatedEventArgs e) { Dispatcher.BeginInvoke(() => { if (e.GroupId != Group.ResourceId) return; StatusLabel.Visibility = Visibility.Collapsed; PhotoStreamListView.Visibility = Visibility.Visible; if (e.NewPhotos.Count == 0) return; if (e.Page == 1) PhotoCollection.Clear(); List<PhotoGroup> newGroups = rendererFactory.GeneratePhotoGroups(e.NewPhotos); foreach (var group in newGroups) { PhotoCollection.Add(group); } if (PhotoCollection.Count == 0) { StatusLabel.Text = AppResources.GenericNoContentFound; StatusLabel.Visibility = Visibility.Collapsed; PhotoStreamListView.Visibility = Visibility.Visible; } }); }
private void OnPhotoListUpdated(object sender, GroupPhotoListUpdatedEventArgs e) { Dispatcher.BeginInvoke(() => { if (e.GroupId == GroupSource.ResourceId) if (SystemTray.ProgressIndicator != null) SystemTray.ProgressIndicator.IsVisible = false; }); }