Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SimpleMemership CreateUserAndAccount Customization

I am trying to add a new property to the UserProfile class in my model

public class UserProfile
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }
    public string UserName { get; set; }
    [Required]
    [DataType(DataType.EmailAddress)]
    [Display(Name = "Email Address")]
    public string Email { get; set; } \\this is the new property
    public virtual IList<Game> Games { get; set; }
}

I am trying to add it to my seed method in my Configurations.cs file

private void SeedMembership()
    {
        WebSecurity.InitializeDatabaseConnection("MafiaContext",
            "UserProfile", "UserId", "UserName", autoCreateTables: true);

        var roles = (SimpleRoleProvider)Roles.Provider;
        var membership = (SimpleMembershipProvider)Membership.Provider;

        if (!roles.RoleExists("Administrator"))
        {
            roles.CreateRole("Administrator");
        }
        if (membership.GetUser("drew", false) == null)
        {

            membership.CreateUserAndAccount(
                "drew", 
                "password", false,
                new { Email = "[email protected]" }); \\ this line errors
        }
        if (!roles.GetRolesForUser("drew").Contains("Administrator"))
        {
            roles.AddUsersToRoles(new[] { "drew" }, new[] { "Administrator" });
        }
    }

However, I receive an error:

Error 2 Argument 4: cannot convert from 'AnonymousType#1' to 'System.Collections.Generic.IDictionary<string,object>' C:\Code\Mafia\Mafia.EF\Migrations\Configuration.cs 65 21 Mafia.EF

I have followed examples, such as: http://blog.longle.net/2012/09/25/seeding-users-and-roles-with-mvc4-simplemembershipprovider-simpleroleprovider-ef5-codefirst-and-custom-user-properties/

But I'm coming up with nothing... My WebMatrix.WebData version is v4.0.30319

Any thoughts?

like image 845
da7rutrak Avatar asked Jan 26 '13 22:01

da7rutrak


People also ask

Is simple membership free?

Simple Membership. A free WordPress membership plugin with multiple payment gateways. Restrict User Access. Offers versatile user restriction features.

What is best membership plugin?

Restrict Content Pro – Best for membership management. LearnDash – Best course builder. S2Member – Best free membership plugin. Paid Memberships Pro – Best for customization.

Is there a free membership plugin for WordPress?

WP-Members is another free membership plugin for WordPress sites that offers simple yet fully functional and expansive features. This plugin can restrict content, integrate member profiles into the installed WordPress theme, and automatically generate teaser content.


1 Answers

Try like this:

private void SeedMembership()
{
    WebSecurity.InitializeDatabaseConnection(
        "MafiaContext",
        "UserProfile", 
        "UserId", 
        "UserName", 
        autoCreateTables: true
    );

    if (!Roles.RoleExists("Administrator"))
    {
        Roles.CreateRole("Administrator");
    }

    if (!WebSecurity.UserExists("drew"))
    {
        WebSecurity.CreateUserAndAccount(
            "drew", 
            "password",
            new { Email = "[email protected]" },
            false
        );
    }

    if (!Roles.GetRolesForUser("drew").Contains("Administrator"))
    {
        Roles.AddUsersToRoles(new[] { "drew" }, new[] { "Administrator" });
    }
}

Here's a nice tutorial about the SimpleMembershipProvider you might consider going through.

like image 128
Darin Dimitrov Avatar answered Nov 15 '22 19:11

Darin Dimitrov