Esempio n. 1
0
        private User CreateUserModel(RestUserRegistrationInfo userInfo)
        {
            var salt = PasswordUtil.CreateSalt(15);
            var hash = PasswordUtil.GenerateSaltedHash(userInfo.Password, salt);


            User user = new User()
            {
                Email        = userInfo.Email,
                Login        = userInfo.Login,
                Salt         = Convert.ToBase64String(salt),
                PasswordHash = Convert.ToBase64String(hash),
                UpdDate      = DateTime.Now
            };

            return(user);
        }
Esempio n. 2
0
        public SaveUserResult CreateUser(RestUserRegistrationInfo userInfo)
        {
            long       userId = 0;
            UserFilter filter = new UserFilter()
            {
                Email = userInfo.Email,
                Login = userInfo.Login
            };

            if (_userDataProvider.GetUsersByFilterCountOR(filter) > 0)
            {
                return(new SaveUserResult()
                {
                    Error = "User already exists",
                    IsNew = false,
                    Success = false,
                    UserId = 0
                });
            }

            User user = CreateUserModel(userInfo);

            userId = _userDataProvider.SaveUser(user);
            if (userId != 0)
            {
                return(new SaveUserResult()
                {
                    Error = "",
                    IsNew = true,
                    Success = true,
                    UserId = userId
                });
            }
            return(new SaveUserResult()
            {
                Error = "Unable to save user",
                IsNew = false,
                Success = false,
                UserId = 0
            });
        }
        public IActionResult Registration([FromBody] RestUserRegistrationInfo userModel)
        {
            var registrationResult = _userManager.CreateUser(userModel);

            return(Ok(registrationResult));
        }