ToSic.SexyContent.EAV.Implementation.ValueConverter.SexyContentValueConverter.TryToResolveOneLinkToInternalDnnCode C# (CSharp) Méthode

TryToResolveOneLinkToInternalDnnCode() private méthode

Will take a link like http:\\... to a file or page and try to return a DNN-style info like Page:35 or File:43003
private TryToResolveOneLinkToInternalDnnCode ( string potentialFilePath ) : string
potentialFilePath string
Résultat string
        private string TryToResolveOneLinkToInternalDnnCode(string potentialFilePath)
        {
            // note: this can always use the current context, because this should happen
            // when saving etc. - which is always expected to happen in the owning portal
            var portalInfo = PortalSettings.Current; //PortalController.Instance.GetCurrentPortalSettings();

            // Try file reference
            var fileInfo = FileManager.Instance.GetFile(portalInfo.PortalId, potentialFilePath);
            if (fileInfo != null)
                return "File:" + fileInfo.FileId;

            // Try page / tab ID
            var tabController = new TabController();
            var tabCollection = tabController.GetTabsByPortal(portalInfo.PortalId);
            var tabInfo = tabCollection.Select(tab => tab.Value)
                                       .Where(tab => tab.TabPath == potentialFilePath)
                                       .FirstOrDefault();

            if (tabInfo != null)
                return "Page:" + tabInfo.TabID;

            return potentialFilePath;
        }