public async Task SignUp(UserSignUpRequestViewModel userSignUpVm) { var existing = await this.usersRepository.FirstOrDefaultAsync(x => x.UserId == userSignUpVm.UserId); if (existing != null) { throw new QaException(Messages.UserIdAlreadyExists); } var newUser = new User { UserId = userSignUpVm.UserId, DisplayName = userSignUpVm.DisplayName, IsActive = true, LastLoggedIn = null, Password = this.securityService.GetSha256Hash(userSignUpVm.Password), SerialNumber = Guid.NewGuid().ToString("N"), Points = 1, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now, }; await this.usersRepository.AddAsync(newUser); var userRole = await this.rolesRepository.FirstAsync(x => x.Name == "User"); await this.userRoleRepository.AddAsync(new UserRole { RoleId = userRole.Id, UserId = newUser.UserId }); await this.uow.SaveChangesAsync(); }
public async Task <IActionResult> UserSignUp([FromBody] UserSignUpRequestViewModel userSignUpVm) { await this.usersService.SignUp(userSignUpVm); return(NoContent()); }