Exemple #1
0
        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());
        }