public void LoadSettings()
        {
            if (_database == null)
            {
                return;
            }

            var item = _database.GetItem(Constants.ItemIDs.PushMenuSettingItemId);

            if (item != null)
            {
                PushMenuSettings = item.MapToPushMenuSetting();
            }
        }
        public SiteSettings GetContextSiteSettings(PushMenuSettings pushMenuSettings)
        {
            if (Context.Site == null)
            {
                return(null);
            }

            var siteItem = Context.Site.SiteItem();

            if (siteItem != null)
            {
                var list = GetSiteSettingsList(pushMenuSettings);
                if (list != null)
                {
                    return
                        (list.FirstOrDefault(
                             i => siteItem.ID.ToString().Equals(i.SiteStartItemId, StringComparison.OrdinalIgnoreCase)));
                }
            }

            return(null);
        }
        public IList <SiteSettings> GetSiteSettingsList(PushMenuSettings pushMenuSettings)
        {
            if (pushMenuSettings == null || string.IsNullOrEmpty(pushMenuSettings.SiteSettings))
            {
                return(null);
            }

            var items = new ListString(pushMenuSettings.SiteSettings);

            var result = new List <SiteSettings>();

            foreach (var id in items)
            {
                var item = _database.GetItem(id);
                if (item != null && item.TemplateID == Constants.TemplateIDs.SiteSettingsId)
                {
                    result.Add(item.MapToSiteSettings());
                }
            }

            return(result);
        }