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); } }
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();