コード例 #1
0
 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
         }
     }
 };
コード例 #2
0
        public async Task <IActionResult> Register([FromBody] UserOrganizationInsertRequest UserOrgInsertRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            await _userService.CreateUserOrganizationAsync(UserOrgInsertRequest);

            return(Ok());
        }
コード例 #3
0
        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);
        }