Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Roger 195 posts 474 karma points
    Nov 14, 2013 @ 13:37
    Roger
    0

    Using AddGroup on Registration form

    Hi,

    I have a form that registers users. The form works fine but I also need to add them to a group on submit.

    I've used MemberGroup mg = MemberGroup.GetByName("All");

    This is what I have so far:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using umbraco.cms.businesslogic.member;
    using umbraco.cms.businesslogic.propertytype;

    public partial class UserControls_RegisterMember : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            lblName.Text = umbraco.library.GetDictionaryItem("Register Name");
            lblEmail.Text = umbraco.library.GetDictionaryItem("Register Email");
            lblUsername.Text = umbraco.library.GetDictionaryItem("Register Username");
            lblPassword.Text = umbraco.library.GetDictionaryItem("Register Password");
            lblPhone.Text = umbraco.library.GetDictionaryItem("Register Phone");
            lblCompany.Text = umbraco.library.GetDictionaryItem("Register Company");
            lblSubscribe.Text = umbraco.library.GetDictionaryItem("Register Subscribe");
            btnSubmit.Text = umbraco.library.GetDictionaryItem("Register Button");

           
            RequiredFieldValidator1.Text = umbraco.library.GetDictionaryItem("Regsiter Required");
            RequiredFieldValidator2.Text = umbraco.library.GetDictionaryItem("Regsiter Required");
            RequiredFieldValidator3.Text = umbraco.library.GetDictionaryItem("Regsiter Required");
            RequiredFieldValidator4.Text = umbraco.library.GetDictionaryItem("Regsiter Required");
            RequiredFieldValidator5.Text = umbraco.library.GetDictionaryItem("Regsiter Required");
            RequiredFieldValidator6.Text = umbraco.library.GetDictionaryItem("Regsiter Required");
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            if (Member.GetMemberFromEmail(txtEmail.Text) == null)
            {
                MemberType registerMemberType = new MemberType(1212);
                MemberGroup mg = MemberGroup.GetByName("All");
                Member newMember = Member.MakeNew(txtName.Text, registerMemberType, new umbraco.BusinessLogic.User(0));


                newMember.Email = txtEmail.Text;
                newMember.LoginName = txtUsername.Text;
                newMember.Password = txtPassword.Text;

                newMember.getProperty("phoneNumber").Value = txtPhone.Text;
                newMember.getProperty("company").Value = txtCompany.Text;
                newMember.getProperty("subscribe").Value = chkSubscribe.Checked;

                newMember.Save();

                Panel1.Visible = false;

                lblMsg.Visible = true;
                lblMsg.Text = umbraco.library.GetDictionaryItem("Register Success");
            }
            else
            {
                lblError.Visible = true;
                lblError.Text = umbraco.library.GetDictionaryItem("Register Error");
                txtEmail.Text = "";
            }
        }
    }

  • Jeffrey Schoemaker 408 posts 2138 karma points MVP 8x c-trib
    Nov 14, 2013 @ 14:11
    Jeffrey Schoemaker
    100

    Hi Roger,

    you could do something like "newMember.AddGroup(12);" where the number corresponds with the id of your usergroup. It will work I guess, but it's deprecated.

    I've been using it like this:

    MembershipCreateStatus createStatus;

    var user = System.Web.Security.Membership.CreateUser(emailAddress, password, emailAddress, "noquestion", "noanswer", true, out createStatus);

    if (createStatus != MembershipCreateStatus.Success)
    {
    throw new MembershipCreateUserException(createStatus);
    }
    System.Web.Security.Roles.AddUserToRole(user.UserName, "YourUsergroupname");  

    Hope it helps you out, cheers

    Jeffrey

  • Roger 195 posts 474 karma points
    Nov 14, 2013 @ 14:41
    Roger
    0

    Thanks, the 1st method worked :)

Please Sign in or register to post replies

Write your reply to:

Draft