Ejemplo n.º 1
0
        public async Task <ResultWrapper <DeleteAdminOutput> > Handle(DeleteAdminCommand request, CancellationToken cancellationToken)
        {
            ResultWrapper <DeleteAdminOutput> result = new ResultWrapper <DeleteAdminOutput>();

            try
            {
                var tData = await _dbContext.TUser.FirstOrDefaultAsync(x => x.Id == request.UserId && x.Role == Infrastructure.AppEnums.RoleEnum.Admin);

                if (tData == null)
                {
                    result.Status  = false;
                    result.Message = "Admin doesn't exists";
                    return(result);
                }
                _dbContext.TUser.Remove(tData);
                await _dbContext.SaveChangesAsync();

                result.Status = true;
                result.Result = new DeleteAdminOutput()
                {
                    FireBaseId = tData.FireBaseId
                };
            }
            catch (Exception ex)
            {
                result.Status  = false;
                result.Message = ex.Message;
            }
            return(result);
        }
Ejemplo n.º 2
0
        public async Task <BaseApiResponse> Delete([FromBody] DeleteRequest request)
        {
            request.CheckNotNull(nameof(request));
            //判断
            var admin = _adminQueryService.Find(request.Id);

            if (admin == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "没找到该用户"
                });
            }
            //删除
            var command = new DeleteAdminCommand
            {
                AggregateRootId = request.Id
            };
            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }
            return(new BaseApiResponse());
        }
Ejemplo n.º 3
0
        public async Task <BaseApiResponse> Delete(DeleteRequest request)
        {
            request.CheckNotNull(nameof(request));
            //判断
            var admin = _adminQueryService.Find(request.Id);

            if (admin == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "没找到该用户"
                });
            }
            //删除
            var command = new DeleteAdminCommand
            {
                AggregateRootId = request.Id
            };
            var result = await ExecuteCommandAsync(command);

            if (!result.IsSuccess())
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "命令没有执行成功:{0}".FormatWith(result.GetErrorMessage())
                });
            }
            //添加操作记录
            var currentAdmin = _contextService.GetCurrentAdmin(HttpContext.Current);

            RecordOperat(currentAdmin.AdminId.ToGuid(), "删除管理员", request.Id, "管理员:{0}".FormatWith(admin.Name));

            return(new BaseApiResponse());
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> DeleteAdmin(DeleteAdminCommand model)
        {
            FirebaseUser user = HttpContext.GetFirebaseUser();

            model.FireBaseId = user.UserId;
            ResultWrapper <DeleteAdminOutput> result = new ResultWrapper <DeleteAdminOutput>();

            result = await _mediator.Send(model);

            return(Ok(result));
        }
        public async Task Handle_Given_ValidModel_Should_Not_ThrowException()
        {
            this.mockedUserManager
            .Setup(x => x.GetUsersInRoleAsync(AppConstants.AdministratorRole))
            .ReturnsAsync(new List <AuctionUser> {
                new AuctionUser {
                    Id = DataConstants.SampleUserId
                }
            });
            this.mockedUserManager
            .Setup(x => x.RemoveFromRoleAsync(It.IsAny <AuctionUser>(), AppConstants.AdministratorRole))
            .ReturnsAsync(IdentityResult.Success);

            var command = new DeleteAdminCommand {
                Email = "*****@*****.**", Role = "Administrator"
            };

            await this.handler.Handle(command, CancellationToken.None);
        }
        public async Task Handle_InCaseOfRemoveUserFromRoleFailure_Should_Throw_BadRequestException()
        {
            this.mockedUserManager
            .Setup(x => x.RemoveFromRoleAsync(It.IsAny <AuctionUser>(), AppConstants.AdministratorRole))
            .ReturnsAsync(IdentityResult.Success);
            this.mockedUserService
            .Setup(x => x.UserId)
            .Returns(DataConstants.SampleAdminUserId);
            this.mockedUserManager
            .Setup(x => x.GetUsersInRoleAsync(AppConstants.AdministratorRole))
            .ReturnsAsync(new List <AuctionUser>
            {
                new AuctionUser {
                    Id = DataConstants.SampleAdminUserId
                }
            });

            var command = new DeleteAdminCommand {
                Email = "*****@*****.**", Role = "Administrator"
            };

            await Assert.ThrowsAsync <BadRequestException>(() => this.handler.Handle(command, CancellationToken.None));
        }
Ejemplo n.º 7
0
 public void Handle(ICommandContext context, DeleteAdminCommand command)
 {
     context.Get <Admin>(command.AggregateRootId).Delete();
 }
Ejemplo n.º 8
0
        public async Task <IActionResult> Delete([FromBody] DeleteAdminCommand model)
        {
            await this.Mediator.Send(model);

            return(this.NoContent());
        }
        public async Task <ActionResult <BaseResponse <Admin> > > DeleteAdmin(DeleteAdminCommand command)
        {
            var result = await _mediator.Send(command);

            return(Ok(result));
        }