/// <summary> /// Updates an Article item. /// </summary> private static void UpdateArticleItem(Item articleItem, BlogFeedItem feedItem) { // Set the item fields articleItem.Editing.BeginEdit(); try { articleItem["Title"] = feedItem.Title; articleItem["Description"] = feedItem.Description; articleItem["Article Type"] = Constants.ArticleType_BlogPost; // Display Date DateField displayDate = articleItem.Fields["Display Date"]; displayDate.Value = DateUtil.ToIsoDate(feedItem.Updated.Date); // Link LinkField link = articleItem.Fields["Link"]; link.Url = feedItem.Link; link.Target = "_blank"; link.LinkType = "external"; } finally { articleItem.Editing.EndEdit(); } }
/// <summary> /// Gets or creates a year item. /// </summary> private Item CreateOrGetYearItem(Item parentItem, BlogFeedItem feedItem) { Item yearItem = parentItem.Axes.GetChild(feedItem.Updated.Year.ToString()); if (yearItem == null) { yearItem = parentItem.Add(feedItem.Updated.Year.ToString(), Constants.ArticleFolderTemplateID); } return(yearItem); }
/// <summary> /// Gets or creates a month item. /// </summary> private Item CreateOrGetMonthItem(Item yearItem, BlogFeedItem feedItem) { // Create or get the Month folder item. string monthName = feedItem.Updated.Month < 10 ? string.Concat("0", feedItem.Updated.Month.ToString()) : feedItem.Updated.Month.ToString(); Item monthItem = yearItem.Axes.GetChild(monthName); if (monthItem == null) { monthItem = yearItem.Add(monthName, Constants.ArticleFolderTemplateID); } return(monthItem); }
/// <summary> /// Gets or creates an article item. /// </summary> private Item CreateOrGetArticleItem(Item monthItem, BlogFeedItem feedItem) { Guid feedItemID = Guid.Empty; if (Guid.TryParse(feedItem.FeedID, out feedItemID)) { Item articleItem = monthItem.Axes.GetChild(new ID(feedItemID)); if (articleItem == null) { string itemName = ItemUtil.ProposeValidItemName(feedItem.Title); articleItem = monthItem.Add(itemName, Constants.ArticleTemplateID, new ID(feedItemID)); } return(articleItem); } return(null); }