/// ----------------------------------------------------------------------------- /// <summary> /// UpdateSettings saves the modified settings to the Database /// </summary> /// <remarks> /// </remarks> /// <history> /// </history> /// ----------------------------------------------------------------------------- public override void UpdateSettings() { try { var repository = new IdentitySwitcherModuleSettingsRepository(); var settings = repository.GetSettings(ModuleConfiguration); if (UserInfo.IsSuperUser) { settings.IncludeHost = cbIncludeHostUser.Checked; } settings.SortBy = (SortBy)Enum.Parse(typeof(SortBy), rbSortBy.SelectedValue); settings.UserSwitchingSpeed = (UserSwitchingSpeed)Enum.Parse(typeof(UserSwitchingSpeed), rbSelectingMethod.SelectedValue); repository.SaveSettings(ModuleConfiguration, settings); // refresh cache ModuleController.SynchronizeModule(ModuleId); } catch (Exception exception) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exception); } }
/// <summary> /// Sorts the users. /// </summary> private List <UserInfo> SortUsers(List <UserInfo> users) { var repository = new IdentitySwitcherModuleSettingsRepository(); var settings = repository.GetSettings(this.ActiveModule); switch (settings.SortBy) { case SortBy.DisplayName: users = users.OrderBy(arg => arg.DisplayName.ToLower()).ToList(); break; case SortBy.UserName: users = users.OrderBy(arg => arg.Username.ToLower()).ToList(); break; } return(users); }
/// <summary> /// Gets the module instance. /// </summary> /// <typeparam name="TModuleInstance">The type of the module instance.</typeparam> /// <param name="moduleControl">The module control.</param> /// <returns></returns> private TModuleInstance GetModuleInstance <TModuleInstance>(PortalModuleBase moduleControl) where TModuleInstance : ModuleInstanceBase, new() { var result = new TModuleInstance(); if (moduleControl != null) { result.ModuleID = moduleControl.ModuleId; result.FilterText = Localization.GetString("FilterText.Text", this.LocalResourceFile); result.SwitchToText = Localization.GetString("SwitchToText.Text", this.LocalResourceFile); var moduleInfo = new ModuleController().GetModule(moduleControl.ModuleId); var repository = new IdentitySwitcherModuleSettingsRepository(); var settings = repository.GetSettings(moduleInfo); result.SwitchUserInOneClick = settings.UserSwitchingSpeed == UserSwitchingSpeed.Fast; } return(result); }
/// <summary> /// Loads the default users. /// </summary> private void AddDefaultUsers(List <UserInfo> users) { var repository = new IdentitySwitcherModuleSettingsRepository(); var settings = repository.GetSettings(this.ActiveModule); // If includehost setting is set to true, add host users to the list. if (settings.IncludeHost ?? false) { var hostUsers = UserController.GetUsers(false, true, Null.NullInteger); foreach (UserInfo hostUser in hostUsers) { users.Insert( 0, new UserInfo { Username = hostUser.Username, UserID = hostUser.UserID, DisplayName = null }); } } users.Insert(0, new UserInfo { Username = "******", DisplayName = null }); }
/// ----------------------------------------------------------------------------- /// <summary> /// LoadSettings loads the settings from the Database and displays them /// </summary> /// <remarks> /// </remarks> /// <history> /// </history> /// ----------------------------------------------------------------------------- public override void LoadSettings() { try { if (Page.IsPostBack == false) { var repository = new IdentitySwitcherModuleSettingsRepository(); var settings = repository.GetSettings(ModuleConfiguration); rbSortBy.Items.Add(new ListItem(Localization.GetString("SortByDisplayName.Text", LocalResourceFile), "0")); rbSortBy.Items.Add(new ListItem(Localization.GetString("SortByUserName.Text", LocalResourceFile), "1")); rbSelectingMethod.Items.Add(new ListItem(Localization.GetString("Fast.Text", LocalResourceFile), "0")); rbSelectingMethod.Items.Add(new ListItem(Localization.GetString("Slow.Text", LocalResourceFile), "1")); if (UserInfo.IsSuperUser) { if (settings.IncludeHost != null) { cbIncludeHostUser.Checked = (bool)settings.IncludeHost; } } else { trHostSettings.Visible = false; } rbSortBy.SelectedValue = ((int)settings.SortBy).ToString(); rbSelectingMethod.SelectedValue = ((int)settings.UserSwitchingSpeed).ToString(); } } catch (Exception exception) //Module failed to load { Exceptions.ProcessModuleLoadException(this, exception); } }