void IContentStorageFilter.Restored(RestoreContentContext context) { if (context.ContentItem.Is <TPart>()) { Restored(context, context.ContentItem.As <TPart>()); } }
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); }
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) { }
protected virtual void Restored(RestoreContentContext context, TPart instance) { }
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) { }
protected override void Restoring(RestoreContentContext context) { _ignoreExportHandlerFor = context.ContentItem; _previousVersionXml = _contentManager.Export(context.ContentItem); _ignoreExportHandlerFor = null; }