コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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;
            }
        }
コード例 #4
0
        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");
        }