예제 #1
0
        public async Task <BaseApiResponse> BreakInvoteLoop()
        {
            int breakCount = 0;
            var users      = _userQueryService.Users().OrderBy(x => x.CreatedOn);

            //遍历所有用户
            foreach (var user in users)
            {
                var childrens = _userQueryService.UserChildrens(user.Id);
                //遍历用户的孩子
                foreach (var children in childrens)
                {
                    if (children.CreatedOn < user.CreatedOn)
                    {
                        var command = new ClearUserParentCommand
                        {
                            AggregateRootId = children.Id
                        };
                        await ExecuteCommandAsync(command);

                        breakCount++;
                        continue;
                    }
                }
            }
            return(new BaseApiResponse {
                Message = "操作完成,切断 {0} 个错误推荐".FormatWith(breakCount)
            });
        }
예제 #2
0
 public void Handle(ICommandContext context, ClearUserParentCommand command)
 {
     context.Get <User>(command.AggregateRootId).ClearParent();
 }