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) }); }
public void Handle(ICommandContext context, ClearUserParentCommand command) { context.Get <User>(command.AggregateRootId).ClearParent(); }