Ejemplo n.º 1
0
        public IActionResult Register()
        {
            var vm = new RegisterViewModel();
            vm.Model = new RegisterModel();

            return this.View(vm);
        }
Ejemplo n.º 2
0
        public async Task<IActionResult> Register(RegisterModel model)
        {
            var vm = new RegisterViewModel
            {
                Model = model
            };

            if (!ModelState.IsValid)
            {
                vm.ErrorMessage = Messages.ModelStateNotValid;
                return this.View(vm);
            }

            var result = await this.AuthService.Register(model);

            if (result.Success)
            {
                Core.Security.SecurityManager.WriteToken(this.HttpContext, result.Data, false);

                return this.RedirectToAction("Index", "Home");
            }
            else
            {
                vm.ErrorMessage = result.ErrorMessage;
                return this.View(vm);
            }
        }
Ejemplo n.º 3
0
        public async Task<IActionResult> Register(RegisterModel model)
        {
            var vm = new RegisterViewModel
            {
                Model = model
            };

            if (!ModelState.IsValid)
            {
                vm.ErrorMessage = Messages.ModelStateNotValid;
                return this.View(vm);
            }

            var result = await this.AccountService.Register(model.UserName, model.Password, model.Email);

            if (result.Success)
            {
                return this.RedirectToAction("RegisterSuccess", "Account");
            }
            else
            {
                switch(result.ErrorCode)
                {
                    case RegisterResult.RegisterErrorCode.EmailExist:
                        vm.ErrorMessage = "该Email已被注册";
                        break;
                    case RegisterResult.RegisterErrorCode.UserNameExist:
                        vm.ErrorMessage = "该用户名已被注册";
                        break;
                }
                
                return this.View(vm);
            }
        }