Exemple #1
0
        public static int GetSortOrder(IWebItem item, WebItemSettings settings)
        {
            if (item == null)
            {
                return(0);
            }

            if (settings != null && item.IsSubItem())
            {
                var s = settings.SettingsCollection.Find(o => o.ItemID == item.ID);
                if (s != null && s.SortOrder != int.MinValue)
                {
                    return(s.SortOrder);
                }
            }

            var index = allowedItems.IndexOf(GetSystemName(item));

            if (index != -1)
            {
                return(index);
            }

            return(item.Context != null ? item.Context.DefaultSortOrder : 0);
        }
Exemple #2
0
        public object SaveModules(List <ASC.Web.Core.Utility.Settings.WebItemSettings.WebItemOption> options)
        {
            try
            {
                SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings);

                var itemSettings = SettingsManager.Instance.LoadSettings <WebItemSettings>(TenantProvider.CurrentTenantID);

                foreach (var itemOption in options)
                {
                    foreach (var webItemOption in itemSettings.SettingsCollection)
                    {
                        if (webItemOption.ItemID == itemOption.ItemID)
                        {
                            webItemOption.Disabled = itemOption.Disabled;
                            continue;
                        }
                    }
                }

                //foreach (var webItemOption in itemSettings.SettingsCollection)
                //{
                //    foreach (var itemOption in options)
                //    {
                //        if (webItemOption.ItemID == itemOption.ItemID)
                //        {
                //            webItemOption.Disabled = itemOption.Disabled;
                //            continue;
                //        }
                //    }
                //}

                var settings = new WebItemSettings();
                foreach (var opt in itemSettings.SettingsCollection.Select((o, i) => { o.SortOrder = i; return(o); }))
                {
                    settings.SettingsCollection.Add(opt);
                }
                SettingsManager.Instance.SaveSettings(settings, TenantProvider.CurrentTenantID);

                return(new { Status = 1, Message = Resources.Resource.WizardModulesSaved });
            }
            catch (Exception ex)
            {
                return(new { Status = 0, Message = ex.Message });
            }
        }
Exemple #3
0
 public static List <IWebItem> SortItems(this IEnumerable <IWebItem> items, WebItemSettings settings)
 {
     return(items.OrderBy(i => WebItemManager.GetSortOrder(i, settings)).ToList());
 }