示例#1
0
        public async Task <BaseApiResponse> SetMyParent(SetMyParentRequest request)
        {
            request.CheckNotNull(nameof(request));

            TryInitUserModel();
            if (!request.Mobile.IsMobileNumber())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "请输入正确的手机号"
                });
            }
            var parent = _userQueryService.FindUser(request.Mobile);

            if (parent == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "没找到该推荐人"
                });
            }

            var command = new SetMyParentCommand(parent.Id)
            {
                AggregateRootId = _user.Id
            };

            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }
            return(new BaseApiResponse());
        }
示例#2
0
        public async Task <BaseApiResponse> SetMyParent([FromBody] SetMyParentRequest request)
        {
            request.CheckNotNull(nameof(request));

            var currentAccount = _contextService.GetCurrentAccount(HttpContext);

            if (!request.Mobile.IsMobileNumber())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "请输入正确的手机号"
                });
            }
            var parent = _userQueryService.FindUser(request.Mobile);

            if (parent == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "没找到该推荐人"
                });
            }
            var user = _userQueryService.FindUser(currentAccount.UserId.ToGuid());

            if (user.CreatedOn < parent.CreatedOn)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "推荐人的注册日期似乎比您晚"
                });
            }

            var command = new SetMyParentCommand(parent.Id)
            {
                AggregateRootId = currentAccount.UserId.ToGuid()
            };

            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }
            return(new BaseApiResponse());
        }