Esempio n. 1
0
        private static async Task FillUserDataForStateAsync(FindUserData data, AdminFindUserState stateToFillDataFor, string actionButtonText, string actionToPostTo,
                                                            int roleIDWhichUsersToExclude = 0)
        {
            data.Roles = await SecurityGuiHelper.GetAllRolesAsync();

            switch (stateToFillDataFor)
            {
            case AdminFindUserState.Start:
                // no-op
                break;

            case AdminFindUserState.UsersFound:
                data.FoundUsers = await UserGuiHelper.FindUsers(data.FilterOnRole, data.SelectedRoleID, data.FilterOnNickName, data.SpecifiedNickName,
                                                                data.FilterOnEmailAddress, data.SpecifiedEmailAddress, roleIDWhichUsersToExclude);

                break;

            case AdminFindUserState.FinalAction:
            case AdminFindUserState.PostAction:
                data.SelectedUsers = await UserGuiHelper.GetAllUsersInRangeAsync(data.SelectedUserIDs);

                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(stateToFillDataFor), stateToFillDataFor, null);
            }

            data.FindUserState    = stateToFillDataFor;
            data.ActionButtonText = actionButtonText;
            data.ActionToPostTo   = actionToPostTo;
        }
Esempio n. 2
0
        /// <summary>
        /// Finds the user specified in the filter.
        /// </summary>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected virtual void OnFind(EventArgs e)
        {
            if (!(chkFilterOnRole.Checked || chkFilterOnNickName.Checked || chkFilterOnEmailAddress.Checked))
            {
                // nothing selected
                return;
            }

            UserCollection matchingUsers = UserGuiHelper.FindUsers(chkFilterOnRole.Checked, Convert.ToInt32(cbxRoles.SelectedValue),
                                                                   chkFilterOnNickName.Checked, tbxNickName.Text.Trim(),
                                                                   chkFilterOnEmailAddress.Checked, tbxEmailAddress.Text.Trim());

            lbxMatchingUsers.DataSource     = matchingUsers;
            lbxMatchingUsers.DataTextField  = "NickName";
            lbxMatchingUsers.DataValueField = "UserID";
            lbxMatchingUsers.DataBind();
            phSearchResults.Visible = true;
            btnSelect.Enabled       = (matchingUsers.Count > 0);
        }