コード例 #1
0
        public IActionResult Register([FromBody] RegisterRequestModel model)
        {
            var result = new BaseResponseModel();

            if (!ModelState.IsValid)
            {
                result.IsError     = true;
                result.ErrorDetail = ModelState.FillModelStateError();
                return(Ok(result));
            }

            var salt = new Random().Next(10000000, 99999999).ToString();
            var usr  = new User
            {
                Email        = model.Email,
                Name         = model.Name,
                UserName     = model.UserName,
                Phone        = model.Phone,
                Website      = model.Website,
                PasswordHash = _cryptoService.Encrypt(model.Password, salt),
                PasswordSalt = salt
            };

            _userRepository.Insert(usr);


            _unitOfWork.SaveChanges();
            _cachingService.SetUser(new UserCaching
            {
                Id       = usr.Id,
                Email    = usr.Email,
                Name     = usr.Name,
                Phone    = usr.Name,
                UserName = usr.UserName,
                Website  = usr.Website
            }, _easyCaching);
            _cachingService.GetUser(usr.Id, _easyCaching);
            return(Ok(usr));
        }