コード例 #1
0
        public async Task <ActionResult> Register([FromBody] AccountRequestDto requestDto)
        {
            if (!ValidationRules.IsEmail(requestDto.Email))
            {
                return(Ok(new HttpResponse()
                {
                    Code = 203,
                    Message = "Email rules error"
                }));
            }

            var account = await _accountRepository.QueryAccountAsync(requestDto.Email);

            if (account != null)
            {
                return(Ok(new HttpResponse()
                {
                    Code = 202,
                    Message = "Email existed"
                }));
            }

            var result = await _accountRepository.AddAccountAsync(new Account()
            {
                UserEmail = requestDto.Email,
                Password  = requestDto.Password
            });

            if (result)
            {
                //User服务增加一条用户信息条目
                await _capPublisher.PublishAsync("UserRegisterSucceeded", new UserRegisterSucceededIntegrationEvent(requestDto.Email));

                return(Ok(new HttpResponse()
                {
                    Code = 200,
                    Message = "Register succeeded"
                }));
            }

            return(Ok(new HttpResponse()
            {
                Code = 201,
                Message = "Register failed"
            }));
        }