Carrotware.CMS.Mvc.UI.Admin.Service.CMS.GetPageCrumbs C# (CSharp) Метод

GetPageCrumbs() приватный Метод

private GetPageCrumbs ( string PageID, string CurrPageID ) : List
PageID string
CurrPageID string
Результат List
        public List<SiteMapOrder> GetPageCrumbs(string PageID, string CurrPageID)
        {
            Guid? ContentPageID = Guid.Empty;
            if (!String.IsNullOrEmpty(PageID)) {
                if (PageID.Length > 20) {
                    ContentPageID = new Guid(PageID);
                }
            }

            Guid ContPageID = Guid.Empty;
            if (!String.IsNullOrEmpty(CurrPageID)) {
                if (CurrPageID.Length > 20) {
                    ContPageID = new Guid(CurrPageID);
                }
            }

            List<SiteMapOrder> lstSiteMap = new List<SiteMapOrder>();

            int iLevel = 0;

            int iLenB = 0;
            int iLenA = 1;

            try {
                while (iLenB < iLenA && SiteData.CurretSiteExists) {
                    iLenB = lstSiteMap.Count;

                    SiteMapOrder cont = sitemapHelper.GetPageWithLevel(SiteData.CurrentSite.SiteID, ContentPageID, iLevel);

                    iLevel++;
                    if (cont != null) {
                        ContentPageID = cont.Parent_ContentID;
                        lstSiteMap.Add(cont);
                    }

                    iLenA = lstSiteMap.Count;
                }
            } catch (Exception ex) {
                SiteData.WriteDebugException("webservice", ex);

                throw;
            }

            return lstSiteMap.OrderByDescending(y => y.NavLevel).ToList();
        }