private void CreateNewsPage(NewsItem item, ContentReference parentContainer, StringBuilder returningMessage) { try { var dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); var publishDate = item.PublishDate != DateTime.MinValue ? item.PublishDate : dtDateTime.AddMilliseconds(item.MetaData.CreatedDateMilliseconds); var container = GetChildFromContainerAndName(parentContainer, publishDate.Year, item.Translation.LanguageId); container = GetChildFromContainerAndName(container, publishDate.Month, item.Translation.LanguageId); // Create MediaPage var newsPage = ContentRepository.GetDefault <NewsItemPage>(container, NewsItemPageTypeId, new CultureInfo(item.Translation.LanguageId)); if (newsPage == null) { returningMessage.AppendFormat("Error: " + item.Title + " - _contentRepository.GetDefault<NewsItemPage> FAILED <br />"); return; } NewsPageMapper.Map(newsPage, item, publishDate); // Add a message about how many that has been imported //returningMessage.AppendFormat( // "News imported: {0} with PageID: {1}\n", // newsPage.PageName, // newsPage.PageLink); } catch (Exception ex) { returningMessage.AppendFormat("Error: " + item.Title + " - " + ex.Message + "<br />"); } }
private void Export(NewsItemPage newsItemPage, string destinationPath, CancellationToken cancellationToken, ConcurrentQueue <string> exportedPages, ConcurrentQueue <string> errors, Action <string> changeStatus) { if (cancellationToken.IsCancellationRequested) { return; } NewsItem eipaNewsFileData; try { eipaNewsFileData = NewsPageMapper.Map(newsItemPage); } catch (Exception e) { var message = $"Page with id '{newsItemPage.PageId}' can't be converted to Eipa file. Exception: {e}"; Logger.LogError(e, message); errors.Enqueue(message); return; } if (EipaFileHelper.Put(GetFilePath(newsItemPage, destinationPath), eipaNewsFileData)) { exportedPages.Enqueue($"{newsItemPage.PageId}"); } else { errors.Enqueue($"Page with id '{newsItemPage.PageId}' wasn't exported correctly"); } changeStatus.Invoke($"Exported '{exportedPages.Count}' news pages. Errors: {errors.Count}"); }