/// <summary> /// Overridden to migrate an item. /// Base implementation just return the <paramref name="newsItem"/>. /// </summary> /// <param name="newsItem">The news item.</param> /// <param name="migratedItemsOwner">The migrated items owner.</param> /// <returns></returns> protected override NewsItem MigrateItem(NewsItem newsItem, FeedSourceEntry migratedItemsOwner) { if (migratedItemsOwner != null) { XmlQualifiedName key = AdditionalElements.GetQualifiedName( OptionalItemElement.OldVersion.FeedUrlElementName, OptionalItemElement.OldVersion.Namespace); string feedUrl = AdditionalElements.GetElementValue(key, newsItem); if (!String.IsNullOrEmpty(feedUrl)) { AdditionalElements.RemoveElement(key, newsItem); OptionalItemElement.AddOrReplaceOriginalFeedReference(newsItem, feedUrl, migratedItemsOwner.ID); Modified = true; } } return(base.MigrateItem(newsItem, migratedItemsOwner)); }
private void InitWith(ExceptionManager ownerFeed, Exception e, string categoryName) { FeedInfo fi = new FeedInfo(null, String.Empty, ownerFeed.Items, ownerFeed.title, ownerFeed.link, ownerFeed.Description); // to prevent confusing about daylight saving time and to work similar to RssComponts, that save item DateTime's // as GMT, we convert DateTime to universal to be conform DateTime exDT = new DateTime(DateTime.Now.Ticks).ToUniversalTime(); bool enableValidation = (e is XmlException); string link = this.BuildBaseLink(e, enableValidation); _delegateTo = new NewsItem(ownerFeed, this._feedTitle, link, this.BuildBaseDesc(e, enableValidation), exDT, categoryName, ContentType.Xhtml, new Dictionary <XmlQualifiedName, string>(1), link, null); _delegateTo.FeedDetails = fi; _delegateTo.BeenRead = false; OptionalItemElement.AddOrReplaceOriginalFeedReference( _delegateTo, this._resourceUrl, this._feedSourceID); }