void IContentStorageFilter.Restored(RestoreContentContext context)
 {
     if (context.ContentItem.Is <TPart>())
     {
         Restored(context, context.ContentItem.As <TPart>());
     }
 }
Пример #2
0
        protected override void Restored(RestoreContentContext context)
        {
            var contentItem = context.ContentItem;

            _ignoreExportHandlerFor = contentItem;
            var newVersionXml = _contentManager.Export(contentItem);

            _ignoreExportHandlerFor = null;

            var diffGram = _analyzer.GenerateDiffGram(_previousVersionXml, newVersionXml);

            RecordAuditTrailEvent(ContentAuditTrailEventProvider.Restored, context.ContentItem, diffGram: diffGram, previousVersionXml: _previousVersionXml);
        }
Пример #3
0
        public async Task <ContentValidateResult> RestoreAsync(ContentItem contentItem)
        {
            // Prepare record for restore.
            // So that a new record will be created.
            contentItem.Id = 0;
            // So that a new version id will be generated.
            contentItem.ContentItemVersionId = "";
            contentItem.Latest = contentItem.Published = false;

            var context = new RestoreContentContext(contentItem);
            await Handlers.InvokeAsync((handler, context) => handler.RestoringAsync(context), context, _logger);

            // Invoke save and fire update handlers.
            await UpdateAsync(contentItem);

            var validationResult = await ValidateAsync(contentItem);

            if (!validationResult.Succeeded)
            {
                // The session is already cancelled.
                return(validationResult);
            }

            // Remove an existing draft but keep an existing published version.
            var latestVersion = await _session.Query <ContentItem, ContentItemIndex>()
                                .Where(index => index.ContentItemId == contentItem.ContentItemId && index.Latest)
                                .FirstOrDefaultAsync();

            if (latestVersion != null)
            {
                latestVersion.Latest = false;
                _session.Save(latestVersion);
            }

            await CreateAsync(contentItem, VersionOptions.Draft);

            await ReversedHandlers.InvokeAsync((handler, context) => handler.RestoredAsync(context), context, _logger);

            return(validationResult);
        }
 public virtual void Restored(RestoreContentContext context) { }
Пример #5
0
 protected virtual void Restored(RestoreContentContext context, TPart instance)
 {
 }
Пример #6
0
 public void Restored(RestoreContentContext context)
 {
 }
 public override Task RestoredAsync(RestoreContentContext context)
 => RecordAuditTrailEventAsync(ContentAuditTrailEventConfiguration.Restored, context.ContentItem);
        public override Task RestoringAsync(RestoreContentContext context)
        {
            _restoring.Add(context.ContentItem.ContentItemId);

            return(Task.CompletedTask);
        }
 public virtual void Restoring(RestoreContentContext context)
 {
 }
Пример #10
0
 protected override void Restoring(RestoreContentContext context)
 {
     _ignoreExportHandlerFor = context.ContentItem;
     _previousVersionXml     = _contentManager.Export(context.ContentItem);
     _ignoreExportHandlerFor = null;
 }