private static void AddPostLabels(AtomEntry newPost, PostDetails genericPostDetails) { foreach (string postLabels in genericPostDetails.Labels) { newPost.Categories.Add(new AtomCategory(postLabels, "http://www.blogger.com/atom/ns#")); } }
public void BlogIt(Photo photo, PostDetails genericPostDetails) { if (photo == null) throw new ArgumentNullException("photo"); if (genericPostDetails == null) throw new ArgumentNullException("genericPostDetails"); BloggerAtomId bloggerAtomId = ExtractBlogAtomId(Settings.BlogName); CreateNewPost(bloggerAtomId, photo, genericPostDetails); }
private void ButtonBlogIt_Click(object sender, EventArgs e) { BloggerWrapper wrapper = new BloggerWrapper(Settings, User); int bloggedCount = 0; foreach (SelectablePictureBox item in PictureGallery.Controls.Cast<SelectablePictureBox>().Where(item => item.IsSelected)) { Flickr.LoadAllData(item.Object); PostDetails genericPostDetails = new PostDetails { TitlePrefix = TitlePrefixTextBox.Text, Labels = LabelsTextBox.Text.Split(',').ToList(), UsePostDate = UseDateTakenCheckBox.Checked, PostDate = PostDate.Value, PostTime = PostTime.Value }; wrapper.BlogIt(item.Object, genericPostDetails); bloggedCount++; } MessageBox.Show(bloggedCount + " - Blogged."); }
private static string GeneratePostTitle(Photo photo, PostDetails genericPostDetails) { return String.Format("{0}: {1}", !String.IsNullOrEmpty(photo.PostDetails.TitlePrefix) ? photo.PostDetails.TitlePrefix : genericPostDetails.TitlePrefix, photo.Title); }
private static DateTime CalculatePublishedDateTime(Photo photo, PostDetails genericPostDetails) { return genericPostDetails.UsePostDate ? photo.Exif.CreatedDateTime : genericPostDetails.PostDate; }
private void CreateNewPost(BloggerAtomId bloggerAtomId, Photo photo, PostDetails genericPostDetails) { AtomEntry newPost = new AtomEntry { Title = { Text = GeneratePostTitle(photo, genericPostDetails) }, Content = new AtomContent { Content = GenerateContent(photo, User), Type = "html" }, Published = CalculatePublishedDateTime(photo, genericPostDetails) }; AddPostLabels(newPost, genericPostDetails); Uri blogFeedUri = new Uri("http://www.blogger.com/feeds/" + bloggerAtomId.BlogId + "/posts/default"); AtomEntry createdEntry = BloggerService.Insert(blogFeedUri, newPost); }