Carrotware.CMS.UI.Controls.ChildNavigation.LoadData C# (CSharp) Method

LoadData() protected method

protected LoadData ( ) : void
return void
        protected override void LoadData()
        {
            base.LoadData();

            List<SiteNav> lstNav = navHelper.GetChildNavigation(SiteData.CurrentSiteID, SiteData.AlternateCurrentScriptName, !SecurityData.IsAuthEditor);

            if (this.IncludeParent && lstNav != null && lstNav.Where(x => x.ShowInSiteNav == true).Count() > 0) {
                SiteNav p = GetParent(lstNav.OrderByDescending(x => x.Parent_ContentID).FirstOrDefault().Parent_ContentID);
                if (p != null) {
                    p.NavOrder = -100;
                    lstNav.Add(p);
                }
            }

            switch (this.SortNavBy) {
                case SortOrder.TitleAsc:
                    this.NavigationData = lstNav.OrderBy(ct => ct.NavMenuText).ToList();
                    break;

                case SortOrder.TitleDesc:
                    this.NavigationData = lstNav.OrderByDescending(ct => ct.NavMenuText).ToList();
                    break;

                case SortOrder.DateAsc:
                    this.NavigationData = lstNav.OrderBy(ct => ct.NavMenuText).OrderBy(ct => ct.GoLiveDate).ToList();
                    break;

                case SortOrder.DateDesc:
                    this.NavigationData = lstNav.OrderBy(ct => ct.NavMenuText).OrderByDescending(ct => ct.GoLiveDate).ToList();
                    break;

                case SortOrder.SortDesc:
                    this.NavigationData = lstNav.OrderBy(ct => ct.NavMenuText).OrderByDescending(ct => ct.NavOrder).ToList();
                    break;

                case SortOrder.SortAsc:
                default:
                    this.NavigationData = lstNav.OrderBy(ct => ct.NavMenuText).OrderBy(ct => ct.NavOrder).ToList();
                    break;
            }
        }