public static bool CreatePersonTypeRole(string columnId, string rowId)
    {
        string roleId       = columnId;
        string personTypeId = rowId;

        try
        {
            var personTypeRole = new PersonTypeRole()
            {
                Role       = RoleManager.GetRole(roleId),
                PersonType = PersonManager.GetPersonTypeById(personTypeId)
            };

            if (!PersonManager.IsPersonTypeInRole(personTypeId, roleId))
            {
                PersonManager.CreatePersonTypeRole(personTypeRole);
            }
        }
        catch (Exception)
        {
            return(false);
        }

        return(true);
    }
Ejemplo n.º 2
0
    protected void btCreateAdmin_Click(object sender, EventArgs e)
    {
        // Create a person type, and a role, and a persontyperole.
        PersonType adminPersonType = new PersonType();

        adminPersonType.Name = BusiBlocks.BusiBlocksConstants.AdministratorsGroup;
        var personTypes = PersonManager.GetAllPersonTypes(true).FirstOrDefault(x => x.Name.Equals(adminPersonType.Name));

        if (personTypes == null)
        {
            PersonManager.CreatePersonType(adminPersonType);
        }
        adminPersonType = PersonManager.GetAllPersonTypes(true).FirstOrDefault(x => x.Name.Equals(adminPersonType.Name));
        Role role = RoleManager.GetRoleByName(txtAdminRole.Text);

        if (role == null)
        {
            Roles.CreateRole(txtAdminRole.Text);
        }
        PersonTypeRole personTypeRole = new PersonTypeRole();

        personTypeRole.PersonType = adminPersonType;
        Role role1 = RoleManager.GetRoleByName(txtAdminRole.Text);

        personTypeRole.Role = role1;
        var personTypeRole1 = PersonManager.GetAllPersonTypeRoles().FirstOrDefault(x => (x.Role.Name.Equals(role1.Name) && x.PersonType.Name.Equals(personTypeRole.PersonType.Name)));

        if (personTypeRole1 == null)
        {
            PersonManager.CreatePersonTypeRole(personTypeRole);
        }

        string pwd = txtAdminPassword.Text;

        MembershipUser user2 = Membership.GetUser(txtAdminUser.Text);

        if (user2 == null)
        {
            Membership.CreateUser(txtAdminUser.Text, pwd, txtAdminEMail.Text);
        }
        MembershipUserCollection col     = Membership.FindUsersByName(txtAdminUser.Text);
        MembershipUser           memUser = col[txtAdminUser.Text];
        User user = MembershipManager.GetUser(memUser.ProviderUserKey.ToString());

        var roles1 = RoleManager.GetRolesByUser(user).FirstOrDefault(x => x.Name.Equals(role1.Name));

        if (roles1 == null)
        {
            RoleManager.AddUserToRole(user, role1);
        }

        // Find a Person who matches this User.
        // If none exists, create one.
        string userName = txtAdminUser.Text;
        Person person   = PersonManager.GetPersonByUserName(userName);

        if (person == null)
        {
            Address address1 = new Address();
            address1.Address1 = "1 Admin Drive";
            AddressManager.CreateAddress(address1);
            User user1 = MembershipManager.GetUserByName(userName);
            PersonManager.CreatePerson(user1, userName, address1);
            person = PersonManager.GetPersonByUserId(user1.Id);
        }
        var personType1 = PersonManager.GetPersonTypesByPerson(person).FirstOrDefault(x => x.Name.Equals(adminPersonType.Name));

        if (personType1 == null)
        {
            PersonManager.AddPersonToPersonType(person.Id, adminPersonType.Id);
        }

        lblStatus.InnerText = "User created!";
    }