public async Task SignUpAsync(UserModel userModel)
        {
            if (!IsModelValid(userModel))
            {
                throw new ArgumentException("User model is not valid.");
            }

            userModel.Password = _authenticationHelper.HashPassword(userModel.Password);
            await _signupDal.SignupAsync(userModel);
        }
        public IActionResult Add(UserModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            var user = new User()
            {
                Id          = Guid.NewGuid(),
                Username    = model.Username,
                Email       = model.Email,
                Password    = _auth.HashPassword(model.Password),
                DisplayName = model.DisplayName,
                FirstName   = model.FirstName,
                LastName    = model.LastName,
                IsEnabled   = model.IsEnabled
            };

            _context.Users.Add(user);
            _context.SaveChanges();

            return(new JsonResult(new UserModel(user)));
        }
Beispiel #3
0
        public async Task <LoginResultModel> LoginAsync(LoginModel loginModel)
        {
            if (loginModel == null || string.IsNullOrEmpty(loginModel.UserName) || string.IsNullOrEmpty(loginModel.Password))
            {
                throw new ArgumentException("Invalid arguments.");
            }

            loginModel.Password = _authenticationHelper.HashPassword(loginModel.Password);
            UserModel userModel = await _loginDal.GetUserByUsernameAndPasswordAsync(loginModel);

            if (userModel == null)
            {
                throw new Exception("User not exists.");
            }

            userModel.Password = "******";

            string token = _authenticationHelper.GenerateToken(userModel.ID);

            return(new LoginResultModel()
            {
                UserModel = userModel, Token = token
            });
        }