Exemplo n.º 1
0
        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 />");
            }
        }
Exemplo n.º 2
0
        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}");
        }