private void AddPhotoset(Photoset set, PhotosetCollectionModel tree) { var m = new PhotosetModel(set.PhotosetId, set.Title, set.Description) { PhotosCount = set.NumberOfPhotos, VideosCount = set.NumberOfVideos }; tree.Items.Add(m); }
private void SetFromCommandline(FlickrManager mgr, HashSet <PhotoModel> list) { var f = mgr.Surrogate; var sets = f.PhotosetsGetList(mgr.AccountDetails.UserId); var knownSets = new List <PhotosetModel>(50); foreach (var s in sets.Select(s => new PhotosetModel(s.PhotosetId, s.Title, s.Description))) { knownSets.Add(s); } foreach (var item in list) { item.Tags = Expand(Tags, item)?.Split(','); item.Title = Expand(Title, item); item.ContentType = ContentType; item.Description = Expand(Description, item); item.SafetyLevel = SafetyLevel; item.SearchState = SearchState; item.IsFamily = IsFamily; item.IsFriend = IsFriend; item.IsPublic = IsPublic; foreach (var s in item.Sets) { if (!knownSets.Contains(s)) { knownSets.Add(s); } } foreach (var setNameExpression in AddToSets) { var setName = Expand(setNameExpression, item); var key = setName.ToLowerInvariant(); var keyIsId = key.StartsWith("id:"); if (keyIsId) { key = key.Substring(3); } PhotosetModel set; var candidates = knownSets.Where( s => (keyIsId && s.Id.ToLowerInvariant() == key) || (!keyIsId && s.Title.ToLowerInvariant() == key)).ToArray(); if (candidates.Length > 1) { var albums = string.Join(", ", sets.Select(s => $"'{s.Title}' (ID:{s.PhotosetId})")); throw new InvalidOperationException( $"Multiple albums with '{setName}' were found on the server. Please use the ID instead (ID:<id> syntax). Possible albums are: {albums}"); } if (!candidates.Any()) { if (keyIsId) { var albums = string.Join(", ", sets.Select(s => $"'{s.Title}' (ID:{s.PhotosetId})")); throw new InvalidOperationException( $"The Album with ID '{key}' was not found on the server. Possible albums are: {albums}"); } if (AutoCreateSets) { set = new PhotosetModel(null, setName, null); knownSets.Add(set); } else { var albums = string.Join(", ", sets.Select(s => $"'{s.Title}' (ID:{s.PhotosetId})")); throw new InvalidOperationException( $"The Album with ID or named '{setName}' was not found on the server. Possible albums are: {albums}"); } } else { set = candidates.Single(); } if (!item.Sets.Contains(set)) { item.Sets.Add(set); } } } }
protected bool Equals(PhotosetModel other) { return(string.Equals(Key, other.Key)); }