示例#1
0
        public async Task <MessageReport> ForgotPass(UserForgotModel model)
        {
            var result = new MessageReport(false, "Có lỗi xảy ra");

            try
            {
                //Kiểm tra tồn tại
                var existed = await GetByUsername(model.Email);

                if (existed == null)
                {
                    result = new MessageReport(false, "Email này không tồn tại trong hệ thống");
                    return(await Task.FromResult(result));
                }

                //Kiểm tra mã khớp
                if (existed.CodeReset != model.Code)
                {
                    result = new MessageReport(false, "Mã xác nhận không khớp");
                    return(await Task.FromResult(result));
                }

                //Cập nhật mật khẩu
                existed.CodeReset     = "";
                existed.PasswordSalat = Guid.NewGuid().ToString();
                existed.Password      = CryptoHelper.EncryptPass_User(model.NewPass, existed.PasswordSalat);

                //Sửa pass

                var query = new StringBuilder();
                query.AppendLine("{");
                query.AppendLine("'_id': { '$eq': '" + existed.Id + "' }");
                query.AppendLine("}");

                result = await _SY_UserRepository.Update(MongoHelper.ConvertQueryStringToDocument(query.ToString()), existed);

                if (result.isSuccess)
                {
                    result.Message = "Reset mật khẩu thành công";
                }
            }
            catch (Exception ex)
            {
                result = new MessageReport(false, ex.Message);
            }

            return(await Task.FromResult(result));
        }
示例#2
0
        public async Task <MessageReport> CheckEmailExisted(UserForgotModel model)
        {
            var result = new MessageReport(false, "Có lỗi xảy ra");

            try
            {
                //
                var existed = await GetByUsername(model.Email);

                if (existed == null)
                {
                    result = new MessageReport(false, "Email này không tồn tại trong hệ thống");
                    return(await Task.FromResult(result));
                }

                existed.CodeReset = FunctionHelper.GetRandomNumericCharacters(6);

                var query = new StringBuilder();
                query.AppendLine("{");
                query.AppendLine("'_id': { '$eq': '" + existed.Id + "' }");
                query.AppendLine("}");

                result = await _SY_UserRepository.Update(MongoHelper.ConvertQueryStringToDocument(query.ToString()), existed);

                if (result.isSuccess)
                {
                    result.Message = "Gửi mã xác nhận vào email";

                    sendEmail(existed.Username, existed.CodeReset);
                }
            }
            catch (Exception ex)
            {
                result = new MessageReport(false, ex.Message);
            }

            return(await Task.FromResult(result));
        }
示例#3
0
 public async Task <MessageReport> changePassword([FromBody] UserForgotModel model)
 {
     return(await _AuthService.ForgotPass(model));
 }
示例#4
0
 public async Task <MessageReport> sendRequestChangePassword([FromBody] UserForgotModel model)
 {
     return(await _AuthService.CheckEmailExisted(model));
 }
示例#5
0
 public Task <MessageReport> ForgotPass(UserForgotModel model)
 {
     throw new NotImplementedException();
 }
示例#6
0
 public Task <MessageReport> CheckEmailExisted(UserForgotModel model)
 {
     throw new NotImplementedException();
 }