예제 #1
0
        public async Task <BaseApiResponse> Lock(UserStateRequest request)
        {
            request.CheckNotNull(nameof(request));
            var user = _userQueryService.FindUser(request.UserId);

            if (user == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "未找到用户"
                });
            }
            var command = new LockUserCommand {
                AggregateRootId = request.UserId
            };
            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令执行失败"
                });
            }
            //添加操作记录
            var currentAdmin = _contextService.GetCurrentAdmin(HttpContext.Current);

            RecordOperat(currentAdmin.AdminId.ToGuid(), "锁定用户", request.UserId, user.Mobile);
            return(new BaseApiResponse());
        }
예제 #2
0
        private void SmtUserBaseViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            switch (e.PropertyName)
            {
            case nameof(SelectedValue):
            {
                UpdateCommand.RaiseCanExecuteChanged();
                DeleteCommand.RaiseCanExecuteChanged();
                LockUserCommand.RaiseCanExecuteChanged();

                var dto = SelectedItem as IUserDto;
                LockUserButtonContent = dto.IsLocked ? "Unlock" : "Lock";
            }
            break;
            }
        }
예제 #3
0
        public async Task <BaseApiResponse> Lock([FromBody] UserStateRequest request)
        {
            request.CheckNotNull(nameof(request));

            var command = new LockUserCommand {
                AggregateRootId = request.UserId
            };
            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令执行失败"
                });
            }
            return(new BaseApiResponse());
        }
예제 #4
0
 public void Handle(ICommandContext context, LockUserCommand command)
 {
     context.Get <User>(command.AggregateRootId).Lock();
 }
예제 #5
0
        public async Task <IActionResult> LockUser([FromRoute] LockUserCommand request)
        {
            await _mediator.Send(request);

            return(Ok());
        }