ScrewTurn.Wiki.AdminUsers.btnDelete_Click C# (CSharp) Method

btnDelete_Click() protected method

protected btnDelete_Click ( object sender, EventArgs e ) : void
sender object
e System.EventArgs
return void
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            lblResult.Text = "";
            lblResult.CssClass = "";

            Log.LogEntry("User deletion requested for " + txtCurrentUsername.Value, EntryType.General, SessionFacade.CurrentUsername);

            UserInfo currentUser = Users.FindUser(txtCurrentUsername.Value);

            if(currentUser.Provider.UserAccountsReadOnly) return;

            // Remove global permissions, remove group membership, remove user
            bool done = RemoveAllAclEntries(currentUser);
            if(done) {
                done = RemoveGroupMembership(currentUser);

                if(done) {
                    done = Users.RemoveUser(currentUser);

                    if(done) {
                        ResetUserList();

                        RefreshList();
                        lblResult.Text = Properties.Messages.UserDeleted;
                        lblResult.CssClass = "resultok";
                        ReturnToList();
                    }
                    else {
                        lblResult.CssClass = "resulterror";
                        lblResult.Text = Properties.Messages.PermissionsAndGroupMembershipDeletedCouldNotDeleteUser;
                    }
                }
                else {
                    lblResult.CssClass = "resulterror";
                    lblResult.Text = Properties.Messages.PermissionsDeletedCouldNotDeleteUser;
                }
            }
            else {
                lblResult.CssClass = "resulterror";
                lblResult.Text = Properties.Messages.CouldNotDeletePermissions;
            }
        }