Beispiel #1
0
        public static void SetDefaultSearchSettings(UserSearchSettings userSearchSettings, StringCollection defaultColumnDisplayOrder)
        {
            try
            {
                // WNM - This is lame but gets the point across.
                // I'm hard-casting as I'd rather throw due to incorrect type than have to guess
                // what happend
                var profile = HttpContext.Current.Profile;
                var searchSettingsGroupName        = userSearchSettings.SearchSettingsGroupName;
                var columnDisplayOrderPropertyName = userSearchSettings.ColumnDisplayOrderPropertyName;
                var profileGroup       = profile.GetProfileGroup(searchSettingsGroupName);
                var columnDisplayOrder = (StringCollection)profileGroup.GetPropertyValue(columnDisplayOrderPropertyName);
                if (columnDisplayOrder.Count == 0)
                {
                    // Initialize with some sensible defaults - mostly likely retrieved from the database
                    columnDisplayOrder = defaultColumnDisplayOrder;
                    profileGroup.SetPropertyValue(columnDisplayOrderPropertyName, columnDisplayOrder);
                }

                if (profile.IsDirty)
                {
                    profile.Save();
                }
            }
            catch (Exception)
            {
                // WNM - most likely an ASP.Net profile configuration issue.
                // See the 'README_DeveloperInstructions.txt file for details
                // on how to configure Profile properties
            }
        }
Beispiel #2
0
        public static IDictionary <string, object> GetSearchSettings(UserSearchSettings userSearchSettings)
        {
            var searchSettingsGroupName        = userSearchSettings.SearchSettingsGroupName;
            var columnDisplayOrderPropertyName = userSearchSettings.ColumnDisplayOrderPropertyName;
            var result       = new Dictionary <string, object>();
            var profileGroup = HttpContext.Current.Profile.GetProfileGroup(searchSettingsGroupName);

            result.Add(columnDisplayOrderPropertyName, profileGroup.GetPropertyValue(columnDisplayOrderPropertyName));
            result.Add("pageSize", profileGroup.GetPropertyValue("pageSize"));
            return(result);
        }
Beispiel #3
0
        public static UserSearchSettings GetSearchSettings(string key)
        {
            UserSearchSettings userSearchSettings;

            if (UserSearchSettings.TryGetValue(key, out userSearchSettings))
            {
                return(userSearchSettings);
            }

            return(null);
        }
Beispiel #4
0
        public static void SetSearchSettings(IDictionary <string, object> searchSettings, UserSearchSettings userSearchSettings)
        {
            if (searchSettings == null)
            {
                return;
            }

            var searchSettingsGroupName        = userSearchSettings.SearchSettingsGroupName;
            var columnDisplayOrderPropertyName = userSearchSettings.ColumnDisplayOrderPropertyName;
            var searchSettingsGroup            = HttpContext.Current.Profile.GetProfileGroup(searchSettingsGroupName);

            foreach (var preference in searchSettings)
            {
                if (preference.Key == columnDisplayOrderPropertyName)
                {
                    var    collection = new StringCollection();
                    JArray strValues  = searchSettings[columnDisplayOrderPropertyName] as JArray;
                    if (strValues != null)
                    {
                        collection.AddRange(strValues.ToList().ConvertAll(item => item.ToString()).ToArray());
                        searchSettingsGroup.SetPropertyValue(columnDisplayOrderPropertyName, collection);
                    }
                }
                else
                {
                    var pageSize = searchSettingsGroup.GetPropertyValue(preference.Key);
                    pageSize = Convert.ToInt32(preference.Value);
                    searchSettingsGroup.SetPropertyValue(preference.Key, pageSize);
                }
            }
        }