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);
        }
Esempio n. 3
0
        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);
        }