public async Task <IActionResult> Register([FromBody] RegisterCommand command)
        {
            if (command.Validate())
            {
                try
                {
                    AuthenticationResponse response = await this._service.register(command);

                    if (response == null)
                    {
                        return(Unauthorized("The email is already being used"));
                    }
                    return(Ok(response));
                }
                catch (Exception e)
                {
                    this._logger.LogError(e, e.Message);
                    return(StatusCode(500));
                }
            }
            return(BadRequest(new Error("There must be data to register")));
        }
예제 #2
0
        /// <summary>
        /// 邮箱注册
        /// </summary>
        /// <param name="registerCommand"></param>
        /// <returns></returns>
        public ResultModel Register(RegisterCommand registerCommand)
        {
            var result = registerCommand.Validate();

            if (!result.IsSuccess)
            {
                return(result);
            }
            if (_memberRepository.GetByEmail(registerCommand.Email) != null)
            {
                result.Message = "";
                return(new ResultModel()
                {
                    ResultNo = -1,
                    Message = "该邮箱已经注册过账号,不能重复使用"
                });
            }
            var member = new Models.Member(registerCommand.NickName, registerCommand.Email, registerCommand.Password);

            result = _memberRepository.Add(member);
            //发布事件
            return(result);
        }