[8039]Update QueryElementDriver.cs (#8041)

Fixes #8039
This commit is contained in:
Hundrer
2018-05-11 12:21:37 -07:00
committed by Sébastien Ros
parent c5c8a003d7
commit 7ea9caa9f8
@@ -174,5 +174,29 @@ namespace Orchard.DynamicForms.Drivers {
var runtimeValue = element.RuntimeValue;
return runtimeValue != null ? runtimeValue.Split(new[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries) : Enumerable.Empty<string>();
}
protected override void OnExporting(Query element, ExportElementContext context) {
base.OnExporting(element, context);
if (element.QueryId == null)
return;
var queryContentItem = _contentManager.Get<QueryPart>(element.QueryId.Value);
if (queryContentItem == null)
return;
context.Element.Data.Add("QueryElementIdentity", _contentManager.GetItemMetadata(queryContentItem).Identity.ToString());
}
protected override void OnImported(Query element, ImportElementContext context) {
base.OnImported(element, context);
if (!context.Element.Data.Keys.Contains("QueryElementIdentity"))
return;
var queryIdentifier = context.Element.Data["QueryElementIdentity"];
var queryContentItem = context.Session.GetItemFromSession(queryIdentity).Content;
if (queryIdentityPart == null)
return;
element.QueryId = queryContentItem.ContentItem.Id;
if (!context.Element.Data.Keys.Contains("QueryId"))
return;
context.Element.Data["QueryId"] = element.QueryId.ToString();
}
}
}
}