コード例 #1
0
        /// -----------------------------------------------------------------------------
        /// <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);
            }
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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
            });
        }
コード例 #5
0
        /// -----------------------------------------------------------------------------
        /// <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);
            }
        }