Beispiel #1
0
        public async Task <ResponseViewModel <bool> > ResetToken(int userId)
        {
            var data = new ResponseViewModel <bool>();

            var user = await _usersProvider.GetUserInfo(userId);

            if (user != null)
            {
                var oldToken = user.AuthToken;
                var newToken = GuidUtil.GetGuid();

                try
                {
                    await FileUtil.ResetUserToken(_tunnelConfig.FilePath, oldToken, newToken);
                }
                catch (Exception e)
                {
                    data.Code = 1;
                    data.Msg  = e.Message;

                    return(data);
                }

                user.AuthToken = newToken;
            }

            data.Data = await _usersProvider.UpdateUser(user);

            return(data);
        }
Beispiel #2
0
        public async Task <ResponseViewModel <bool> > AddUser(EditUserViewModel vm)
        {
            var data = new ResponseViewModel <bool>();

            var _user = await _usersProvider.GetUserInfo(vm.UserName);

            if (_user != null)
            {
                data.Code = 1;
                data.Msg  = _localizer["username"];

                return(data);
            }
            _user = await _usersProvider.GetUserInfo(vm.Email);

            if (_user != null)
            {
                data.Code = 1;
                data.Msg  = _localizer["email"];

                return(data);
            }

            var user = new UsersEntity
            {
                UserName     = vm.UserName,
                Email        = vm.Email,
                Password     = MD5Util.TextToMD5(vm.Password),
                RegisterTime = DateTime.Now,
                Status       = (int)UserStatusEnum.Normal,
                IsDelete     = (int)UserDeleteEnum.Normal,
                IsAdmin      = (int)UserTypeEnum.IsUser,
                AuthToken    = GuidUtil.GetGuid()
            };

            data.Data = await _usersProvider.AddUser(user);

            return(data);
        }
Beispiel #3
0
        public async Task <ResponseViewModel <bool> > Register(RegisterViewModel vm)
        {
            var data = new ResponseViewModel <bool>();

            if (vm.Password != vm.Repass)
            {
                data.Code = 1;
                data.Msg  = _localizer["password"];

                return(data);
            }

            var _user = await _userProvider.GetUserInfo(vm.UserName);

            if (_user != null)
            {
                data.Code = 1;
                data.Msg  = _localizer["user"];

                return(data);
            }
            _user = await _userProvider.GetUserInfo(vm.Email);

            if (_user != null)
            {
                data.Code = 1;
                data.Msg  = _localizer["email"];

                return(data);
            }

            var user = new UsersEntity
            {
                UserName     = vm.UserName,
                Email        = vm.Email,
                Password     = MD5Util.TextToMD5(vm.Password),
                RegisterTime = DateTime.Now,
                //Status = (int)UserStatusEnum.UnActivated,
                Status    = (int)UserStatusEnum.Normal,
                IsDelete  = (int)UserDeleteEnum.Normal,
                IsAdmin   = (int)UserTypeEnum.IsUser,
                AuthToken = GuidUtil.GetGuid()
            };

            data.Data = await _userProvider.AddUser(user);

            data.Msg = _localizer["success"];

            #region 注册成功,发送激活邮件
            //var verify = new VerifyEntity
            //{
            //    UserId = _userProvider.GetUserInfo(vm.Email).Id,
            //    Token = MD5Util.TextToMD5(vm.Email),
            //    Status = (int)VerifyStatusEnum.Normal,
            //    Type = (int)VerifyTypeEnum.Register,
            //    Time = DateTime.Now
            //};
            //await _verifyProvider.AddVerify(verify);

            //var tempHtml = "<p>{0}</p>";
            //var body = string.Empty;
            //var url = _config.Domain + "/account/verify?token=" + MD5Util.TextToMD5(vm.Email);
            //var link = "<a href='" + url + "'>" + url + "</a>";

            //body += string.Format(tempHtml, _localizer["body1"]);
            //body += string.Format(tempHtml, vm.UserName + _localizer["body2"]);
            //body += string.Format(tempHtml, _localizer["body3"] + link);
            //body += string.Format(tempHtml, _localizer["body4"]);
            //body += string.Format(tempHtml, _localizer["body5"]);

            //try
            //{
            //    _email.SendEmail(vm.UserName, vm.Email, _localizer["subject"], body);
            //}
            //catch (Exception e)
            //{
            //    data.Code = 0;
            //    data.Msg = e.Message;
            //}
            #endregion

            return(data);
        }