public async Task <User> Registration(RegistrationViewModel newUser) { using (ApplicationContext db = new ApplicationContext()) { var existUser = await db.Users.FirstOrDefaultAsync(item => item.Email == newUser.Email); if (existUser != null) { throw new Exception("Such user already exists"); } HashService.CreatePasswordHash(newUser.Password, out var passwordSalt, out var passwordHash); var user = new User() { Id = Guid.NewGuid(), UserName = newUser.UserName, PasswordSalt = passwordSalt, PasswordHash = passwordHash, Email = newUser.Email, FirstName = newUser.FirstName, LastName = newUser.LastName, Role = Role.User }; await db.Users.AddAsync(user); await db.SaveChangesAsync(); return(user); } }
public void CreatePasswordHash_WhenCalled_ReturnPasswordObject(string passord) { var result = _service.CreatePasswordHash(passord); Assert.Multiple(() => { Assert.That(result.PasswordHash, Is.Not.Null); Assert.That(result.PasswordSalt, Is.Not.Null); }); }
public async Task <IResult> Handle(RegisterSellerCommand request, CancellationToken cancellationToken) { HashService.CreatePasswordHash(request.Password, out byte[] passwordHash, out byte[] passwordSalt); var seller = Seller.Register(request.FirstName, request.LastName, request.Phone , request.Email, request.Brand, passwordSalt, passwordHash); await _sellerRepository.AddAsync(seller, cancellationToken); return(new Result(true)); }
public async Task <Unit> Handle(RegisterCustomerCommand request, CancellationToken cancellationToken) { var hashedIdentity = _cipherService.Encrypt(request.IdentityNumber); HashService.CreatePasswordHash(request.Password, out byte[] passwordHash, out byte[] passwordSalt); var customter = new Customer(request.FirstName, request.LastName, request.Email, hashedIdentity, request.Address, _customerUniqunessChecker, passwordSalt, passwordHash); await _customerRepository.AddAsync(customter, cancellationToken); return(Unit.Task.Result); }