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); }
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!"; }