protected override void TransformComponent(Dynamic.Component component) { TCM.Component tcmComponent = this.GetTcmComponent(); TCM.Folder tcmFolder = (TCM.Folder)tcmComponent.OrganizationalItem; String mergeActionStr = Package.GetValue("MergeAction"); Dynamic.MergeAction mergeAction; if (string.IsNullOrEmpty(mergeActionStr)) { mergeAction = defaultMergeAction; } else { mergeAction = (Dynamic.MergeAction)Enum.Parse(typeof(Dynamic.MergeAction), mergeActionStr); } while (tcmFolder.OrganizationalItem != null) { if (tcmFolder.MetadataSchema != null) { TCM.Fields.ItemFields tcmFields = new TCM.Fields.ItemFields(tcmFolder.Metadata, tcmFolder.MetadataSchema); // change FieldsBuilder.AddFields(component.MetadataFields, tcmFields, 1, false, false, mergeAction, Manager); } tcmFolder = (TCM.Folder)tcmFolder.OrganizationalItem; } }
protected override void TransformComponent(Dynamic.Component component) { TCM.Component tcmComponent = this.GetTcmComponent(); TCM.Folder tcmFolder = (TCM.Folder)tcmComponent.OrganizationalItem; while (tcmFolder.OrganizationalItem != null) { if (tcmFolder.MetadataSchema != null) { TCM.Fields.ItemFields tcmFields = new TCM.Fields.ItemFields(tcmFolder.Metadata, tcmFolder.MetadataSchema); FieldsBuilder.AddFields(component.MetadataFields, tcmFields, Manager); } tcmFolder = (TCM.Folder)tcmFolder.OrganizationalItem; } }
protected override void TransformPage(Dynamic.Page page) { GeneralUtils.TimedLog("start TransformPage with id " + page.Id); Page tcmPage = this.GetTcmPage(); StructureGroup tcmSG = (StructureGroup)tcmPage.OrganizationalItem; String mergeActionStr = Package.GetValue("MergeAction"); Dynamic.MergeAction mergeAction; if (!string.IsNullOrEmpty(mergeActionStr)) { try { mergeAction = (Dynamic.MergeAction)Enum.Parse(typeof(Dynamic.MergeAction), mergeActionStr); } catch { GeneralUtils.TimedLog("unexpected merge action " + mergeActionStr + ", using default"); mergeAction = defaultMergeAction; } } else { GeneralUtils.TimedLog("no merge action specified, using default"); mergeAction = defaultMergeAction; } GeneralUtils.TimedLog("using merge action " + mergeAction.ToString()); while (tcmSG != null) { GeneralUtils.TimedLog("found structure group with id " + tcmSG.Id); if (tcmSG.MetadataSchema != null) { TCM.Fields.ItemFields tcmFields = new TCM.Fields.ItemFields(tcmSG.Metadata, tcmSG.MetadataSchema); GeneralUtils.TimedLog(string.Format("about to merge {0} fields on structure group with {1} fields on page ", tcmFields.Count, page.MetadataFields.Count)); // change FieldsBuilder.AddFields(page.MetadataFields, tcmFields, LinkLevels, false, false, mergeAction, Manager); GeneralUtils.TimedLog(string.Format("finished merging, we now have {0} fields on structure group and {1} fields on page ", tcmFields.Count, page.MetadataFields.Count)); } tcmSG = tcmSG.OrganizationalItem as StructureGroup; } }
protected override void TransformPage(Dynamic.Page page) { GeneralUtils.TimedLog("start TransformPage with id " + page.Id); Page tcmPage = this.GetTcmPage(); StructureGroup tcmSG = (StructureGroup)tcmPage.OrganizationalItem; String mergeActionStr = Package.GetValue("MergeAction"); while (tcmSG != null) { if (tcmSG.MetadataSchema != null) { TCM.Fields.ItemFields tcmFields = new TCM.Fields.ItemFields(tcmSG.Metadata, tcmSG.MetadataSchema); FieldsBuilder.AddFields(page.MetadataFields, tcmFields, Manager); } tcmSG = tcmSG.OrganizationalItem as StructureGroup; } GeneralUtils.TimedLog("finished TransformPage"); }