예제 #1
0
        public async Task <ResponseModel> ResendCodeAsync(Guid userId)
        {
            var user = await _userRepository.GetByIdAsync(userId);

            if (user == null)
            {
                return(new ResponseModel()
                {
                    StatusCode = System.Net.HttpStatusCode.NotFound,
                    Message = "User không tồn tại trong hệ thống. Vui lòng kiểm tra lại!"
                });
            }
            else
            {
                var verifyCode = SMSHelper.GenerateVerifyNumber();
                user.VerifyCode = verifyCode;
                await _userRepository.UpdateAsync(user);

                SMSHelper.SendMessage(verifyCode, user.Mobile);

                return(new ResponseModel()
                {
                    StatusCode = System.Net.HttpStatusCode.OK,
                    Message = "Đã gửi mã xác nhận tới số điện thoại đăng ký!"
                });
            }
        }
예제 #2
0
        public async Task <ResponseModel> RegisterAsync(UserRegisterModel userRegisterModel)
        {
            var user = await _userRepository.FetchFirstAsync(x => x.Mobile == userRegisterModel.Mobile);

            if (user != null)
            {
                return(new ResponseModel()
                {
                    StatusCode = System.Net.HttpStatusCode.BadRequest,
                    Message = "Số điện thoại đã được đăng kí. Sử dụng chức năng quên mật khẩu để lấy lại!"// TODO: multi language
                });
            }
            else
            {
                user = AutoMapper.Mapper.Map <User>(userRegisterModel);
                userRegisterModel.Password.GeneratePassword(out string saltKey, out string hashPass);

                user.Password     = hashPass;
                user.PasswordSalt = saltKey;

                var verifyCode = SMSHelper.GenerateVerifyNumber();
                user.VerifyCode = verifyCode;

                SMSHelper.SendMessage(verifyCode, user.Mobile);

                return(await _userRepository.InsertAsync(user));
            }
        }