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 } }
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); }
public static UserSearchSettings GetSearchSettings(string key) { UserSearchSettings userSearchSettings; if (UserSearchSettings.TryGetValue(key, out userSearchSettings)) { return(userSearchSettings); } return(null); }
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); } } }