mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
35 lines
1.6 KiB
C#
35 lines
1.6 KiB
C#
using Orchard.ContentManagement.Drivers;
|
|
using Orchard.ContentManagement.Handlers;
|
|
using Orchard.MediaLibrary.Models;
|
|
|
|
namespace Orchard.MediaLibrary.Drivers {
|
|
public class AudioPartDriver : ContentPartDriver<AudioPart> {
|
|
protected override DriverResult Display(AudioPart part, string displayType, dynamic shapeHelper) {
|
|
return Combined(
|
|
ContentShape("Parts_Audio_Metadata", () => shapeHelper.Parts_Audio_Metadata()),
|
|
ContentShape("Parts_Audio_SummaryAdmin", () => shapeHelper.Parts_Audio_SummaryAdmin()),
|
|
ContentShape("Parts_Audio_Summary", () => shapeHelper.Parts_Audio_Summary()),
|
|
ContentShape("Parts_Audio", () => shapeHelper.Parts_Audio())
|
|
);
|
|
}
|
|
|
|
protected override void Exporting(AudioPart part, ContentManagement.Handlers.ExportContentContext context) {
|
|
context.Element(part.PartDefinition.Name).SetAttributeValue("Length", part.Length);
|
|
}
|
|
|
|
protected override void Importing(AudioPart part, ContentManagement.Handlers.ImportContentContext context) {
|
|
// Don't do anything if the tag is not specified.
|
|
if (context.Data.Element(part.PartDefinition.Name) == null) {
|
|
return;
|
|
}
|
|
|
|
context.ImportAttribute(part.PartDefinition.Name, "Length", length =>
|
|
part.Length = int.Parse(length)
|
|
);
|
|
}
|
|
|
|
protected override void Cloning(AudioPart originalPart, AudioPart clonePart, CloneContentContext context) {
|
|
clonePart.Length = originalPart.Length;
|
|
}
|
|
}
|
|
} |