public static SystemUserPassword GetUserPassword( UserOrganizationInsertRequest userOrg, long roleId, HashedPassword hashedPass) => new SystemUserPassword { Password = hashedPass.PasswordHash, PasswordSalt = hashedPass.Salt, SystemUser = new SystemUser { RoleId = roleId, CreatedOnUtc = DateTime.UtcNow, Organization = new Organization { Name = userOrg.OrganizationName, }, Person = new Person { EmailAddress = userOrg.Person.EmailAddress, FirstName = userOrg.Person.FirstName, LastName = userOrg.Person.LastName, IsActive = true } } };
public async Task <IActionResult> Register([FromBody] UserOrganizationInsertRequest UserOrgInsertRequest) { if (!ModelState.IsValid) { return(BadRequest()); } await _userService.CreateUserOrganizationAsync(UserOrgInsertRequest); return(Ok()); }
public async Task CreateUserOrganizationAsync(UserOrganizationInsertRequest userOrganization) { RoleLogic role = await _userRoleService.GetByRoleCodeAsync(Constants.DirectorRole); HashedPassword hashedPass = _securityService.GetHashedPassword(userOrganization.Person.Password); SystemUserPassword userPassword = UserFactory.GetUserPassword(userOrganization, role.RoleId, hashedPass); // Inserts new SystemUser, SystemUserPassword, Person, Organization await _userPasswordRepository.InsertAsync(userPassword); Task<OrganizationLogic> organizationTask = _userOrganizationService.GetByNameAsync(userOrganization.OrganizationName); Task<IEnumerable<DefaultRoleActionLogic>> roleActionsTask = _roleActionMasterService.GetAllDefaultAsync(); await Task.WhenAll(organizationTask, roleActionsTask); IEnumerable<RoleActionOrganization> roleActionOrganizations = roleActionsTask.Result.Select( dro => RoleActionOrganizationFactory.GetRoleActionOrganization(organizationTask.Result.Id, dro.RoleId, dro.ActionId)); /// Inserts into RoleActionOrganization the records from DefaultRoleAction, but for the new organization. await _roleActionOrganizationRepository.InsertRangeAsync(roleActionOrganizations); }