Implemented import/export for VectorImage element.

This commit is contained in:
Sipke Schoorstra
2015-06-09 13:57:22 +03:00
parent c4dacc1f62
commit 711948fd64

View File

@@ -1,8 +1,10 @@
using System.Linq;
using System;
using System.Linq;
using Orchard.ContentManagement;
using Orchard.Layouts.Elements;
using Orchard.Layouts.Framework.Display;
using Orchard.Layouts.Framework.Drivers;
using Orchard.Layouts.Helpers;
using Orchard.Layouts.ViewModels;
using Orchard.MediaLibrary.Models;
using ContentItem = Orchard.Layouts.Elements.ContentItem;
@@ -43,6 +45,22 @@ namespace Orchard.Layouts.Drivers {
context.ElementShape.VectorImagePart = vectorImage;
}
protected override void OnExporting(VectorImage element, ExportElementContext context) {
var image = element.MediaId != null ? GetVectorImage(element.MediaId.Value) : default(VectorImagePart);
if (image == null)
return;
context.ExportableData["VectorImage"] = _contentManager.GetItemMetadata(image).Identity.ToString();
}
protected override void OnImporting(VectorImage element, ImportElementContext context) {
var imageIdentity = context.ExportableData.Get("VectorImage");
var image = !String.IsNullOrWhiteSpace(imageIdentity) ? context.Session.GetItemFromSession(imageIdentity) : default(ContentManagement.ContentItem);
element.MediaId = image != null ? image.Id : default(int?);
}
protected VectorImagePart GetVectorImage(int id) {
return _contentManager.Get<VectorImagePart>(id, VersionOptions.Published);
}