示例#1
0
        /// <summary>
        /// 框架页面
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> Index()
        {
            var userId = HttpContext.User.FindFirst(u => u.Type == ClaimTypes.NameIdentifier).Value;
            var user   = await _usersProvider.GetUserInfo(Convert.ToInt32(userId));

            return(View(user));
        }
示例#2
0
        public async Task <ResponseViewModel <bool> > AddTunnel(int userId, AdminTunnelsViewModel vm)
        {
            var data = new ResponseViewModel <bool>();

            if (await _tunnelProvider.GetTunnelBySubDomail(vm.SubDomain) != null)
            {
                data.Code = 1;
                data.Msg  = _localizer["add_tunnel.msg"];

                return(data);
            }

            var tunnelId = GuidUtil.GenerateGuid();

            if (await _tunnelProvider.GetTunnel(tunnelId) != null)
            {
                data.Code = 1;
                data.Msg  = _localizer["add_tunnel.error"];

                return(data);
            }

            var tunnel = new TunnelsEntity
            {
                TunnelId       = tunnelId,
                UserId         = userId,
                TunnelProtocol = vm.TunnelProtocol,
                TunnelName     = vm.TunnelName,
                SubDomain      = vm.SubDomain,
                LocalPort      = vm.LocalPort,
                Status         = (int)TunnelStatusEnum.Pass,
                CreateTime     = DateTime.Now,
                OpenTime       = DateTime.Now,
                ExpiredTime    = vm.ExpiredTime,
                FullUrl        = vm.FullUrl
            };

            var user = await _usersProvider.GetUserInfo(userId);

            try
            {
                await FileUtil.WriteTunnel(tunnel, user, _tunnelConfig.FilePath, vm.RemotePort);
            }
            catch (Exception e)
            {
                data.Code = 1;
                data.Msg  = e.Message;

                return(data);
            }

            data.Data = await _tunnelProvider.Create(tunnel);

            return(data);
        }
示例#3
0
        /// <summary>
        /// 激活验证
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> Verify(string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                return(RedirectToAction(nameof(HomeController.Index), "Home"));
            }

            var verify = _verifyProvider.GetVerifyInfo(token, VerifyTypeEnum.Register);

            if (verify != null)
            {
                var user = await _usersProvider.GetUserInfo(verify.UserId);

                user.Status = (int)UserStatusEnum.Normal;
                await _usersProvider.UpdateUser(user);

                await _verifyProvider.VerifySuccess(token);

                ViewData["Message"] = _localizer["verifyed"];
            }
            else
            {
                ViewData["Message"] = _localizer["expired"];
            }

            return(View());
        }
示例#4
0
        public async Task <IActionResult> AdminCreate(int userId)
        {
            var user = await _usersProvider.GetUserInfo(userId);

            ViewData["Domain"] = _tunnelConfig.Domain;

            return(View(user));
        }
示例#5
0
        /// <summary>
        /// 编辑用户
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var user = await _usersProvider.GetUserInfo(id ?? 0);

            return(View(user));
        }
示例#6
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);
        }
        public async Task <ResponseViewModel <bool> > Register(RegisterViewModel vm)
        {
            var data = new ResponseViewModel <bool>();

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

                return(data);
            }

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

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

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

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

                return(data);
            }

            var user = new UsersEntity
            {
                LoginName     = vm.LoginName,
                LoginPassword = vm.LoginPassword,
                LoginTime     = DateTime.Now.ToString(),
                //BranchID
                //BranchType
                //SHOP_ID
                //DIVISION_ID
                IsEnable = (int)UserTypeEnum.IsUser,
                //EMP_ID
                //EMP_NAME
                //EMP_Birthday
                //EMP_ADD
                //EMP_TEL
                //EMP_ZIP
                //EMP_EMAIL
                //EMP_MOBILE
                //EMP_MEMO
                //EMP_ENABLE
                //EMP_SEX
                //EMP_CodeID
                //EMP_LEVEL
                //EMP_BDATE
                //EMP_EDATE
                //EMP_WAGE
                //EMP_Education
                //CRT_DATETIME
                //CRT_USER_ID
                //MOD_DATETIME
                //MOD_USER_ID
                //LAST_UPDATE
                STATUS = (int)UserStatusEnum.Normal
            };

            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);
        }
示例#8
0
        public async Task <ResponseViewModel <bool> > AddUser(EditUserViewModel vm)
        {
            var data = new ResponseViewModel <bool>();

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

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

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

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

                return(data);
            }

            var user = new UsersEntity
            {
                LoginName       = vm.LoginName
                , LoginPassword = vm.LoginPassword
                ,
                LoginTime = vm.LoginTime
                ,
                BranchID = vm.BranchID
                ,
                BranchType = vm.BranchType
                ,
                SHOP_ID = vm.SHOP_ID
                ,
                DIVISION_ID = vm.DIVISION_ID
                ,
                IsEnable = vm.IsEnable
                ,
                EMP_ID = vm.EMP_ID
                ,
                EMP_NAME = vm.EMP_NAME
                ,
                EMP_Birthday = vm.EMP_Birthday
                ,
                EMP_ADD = vm.EMP_ADD
                ,
                EMP_TEL = vm.EMP_TEL
                ,
                EMP_ZIP = vm.EMP_ZIP
                ,
                EMP_EMAIL = vm.EMP_EMAIL
                ,
                EMP_MOBILE = vm.EMP_MOBILE
                ,
                EMP_MEMO = vm.EMP_MEMO
                ,
                EMP_ENABLE = vm.EMP_ENABLE
                ,
                EMP_SEX = vm.EMP_SEX
                ,
                EMP_CodeID = vm.EMP_CodeID
                ,
                EMP_LEVEL = vm.EMP_LEVEL
                ,
                EMP_BDATE = vm.EMP_BDATE
                ,
                EMP_EDATE = vm.EMP_EDATE
                ,
                EMP_WAGE = vm.EMP_WAGE
                ,
                EMP_Education = vm.EMP_Education
            };

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

            return(data);
        }
示例#9
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);
        }