Esempio n. 1
0
        private static string ResolveLink(Tridion.ContentManager.TcmUri tcmUri, bool resolveToBinary, ILocalization localization)
        {
            switch (tcmUri.ItemType)
            {
            case ItemType.Page:
                return(ResolvePageLink(tcmUri, localization));

            case ItemType.Component:
                // If requested (resolveToBinary = true), try to resolve Binary Link first.
                string binaryLink = null;
                if (resolveToBinary)
                {
                    binaryLink = ResolveBinaryLink(tcmUri, localization);
                }
                return(binaryLink ?? ResolveComponentLink(tcmUri, localization));

            default:
                throw new DxaException("Unexpected item type in TCM URI: " + tcmUri);
            }
        }
Esempio n. 2
0
        private static string ResolveLink(Tridion.ContentManager.TcmUri tcmUri, string pageContextId, bool resolveToBinary, Localization localization)
        {
            switch (tcmUri.ItemType)
            {
            case ItemType.Page:
                return(ResolvePageLink(tcmUri, localization));

            case ItemType.Component:
                // If requested (resolveToBinary = true), try to resolve Binary Link first.
                string binaryLink = null;
                if (resolveToBinary)
                {
                    binaryLink = ResolveBinaryLink(tcmUri, localization);
                }
                if (binaryLink != null)
                {
                    return(binaryLink);
                }

                int   pageId;
                CmUri cmUri;
                if (CmUri.TryParse(pageContextId, out cmUri))
                {
                    pageId = cmUri.ItemId;
                }
                else if (!int.TryParse(pageContextId, out pageId))
                {
                    pageId = -1;
                }

                return(ResolveComponentLink(tcmUri, localization, pageId));

            default:
                throw new DxaException("Unexpected item type in TCM URI: " + tcmUri);
            }
        }
 internal EclProcessor(Engine engine, Tridion.ContentManager.TcmUri binariesStructureGroupId)
 {
     _engine = engine;
     _binariesStructureGroup = (binariesStructureGroupId == null) ? null : (StructureGroup)engine.GetObject(binariesStructureGroupId);
     _eclSession             = SessionFactory.CreateEclSession(engine.GetSession());
 }
 private static string GetPublicationUri(Tridion.ContentManager.TcmUri tcmUri, Localization localization)
 => (localization == null) ? $"tcm:0-{tcmUri.PublicationId}-1" : localization.GetCmUri();