public async Task <BaseResponse <Admin> > Handle(UpdateAdminCommand request, CancellationToken cancellationToken)
        {
            var response = new BaseResponse <Admin> ()
            {
                ReponseName = nameof(UpdateAdminCommand), Content = new List <Admin> ()
                {
                }
            };
            var entity = await _adminRepository.GetOneAsync(p => p.Id == request.Id);

            if (entity == null)
            {
                response.Status  = ResponseType.Error;
                response.Message = $"{nameof(Admin)} not found.";
                response.Content = null;
            }
            else
            {
                _mapper.Map(request, entity, typeof(UpdateAdminCommand), typeof(Admin));
                await _adminRepository.UpdateAsync(entity);

                response.Status  = ResponseType.Success;
                response.Message = $"{nameof(Admin)} updated successfully.";
                response.Content.Add(entity);
            }
            return(response);
        }
Ejemplo n.º 2
0
        public async Task <BaseApiResponse> Edit([FromBody] EditAdminRequest request)
        {
            request.CheckNotNull(nameof(request));
            //判断
            var admin = _adminQueryService.Find(request.Id);

            if (admin == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "没找到该用户"
                });
            }

            var command = new UpdateAdminCommand(
                request.Name,
                request.LoginName,
                request.Portrait,
                request.Role,
                request.IsLocked
                )
            {
                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 void Handle(ICommandContext context, UpdateAdminCommand command)
 {
     context.Get <Admin>(command.AggregateRootId).Update(
         new AdminEditableInfo(
             command.Name,
             command.LoginName,
             command.Portrait,
             command.Role,
             command.IsLocked));
 }
        public async Task <ActionResult <BaseResponse <Admin> > > UpdateAdmin(UpdateAdminCommand command)
        {
            try {
                var result = await _mediator.Send(command);

                return(Ok(result));
            } catch (ValidationException ex) {
                var err = new BaseResponse <Admin> ();
                err.Status  = ResponseType.Error;
                err.Message = ex.Message;
                err.Content = null;
                return(Ok(err));
            }
        }
Ejemplo n.º 5
0
        public async Task <BaseApiResponse> Edit(EditAdminRequest request)
        {
            request.CheckNotNull(nameof(request));
            //判断
            var admin = _adminQueryService.Find(request.Id);

            if (admin == null)
            {
                return(new BaseApiResponse {
                    Code = 400, Message = "没找到该用户"
                });
            }

            var command = new UpdateAdminCommand(
                request.Name,
                request.LoginName,
                request.Portrait,
                request.Role,
                request.IsLocked
                )
            {
                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.º 6
0
 public async Task <ActionResult <string> > Update(UpdateAdminCommand command, CancellationToken cancellationToken)
 {
     return(Ok(await Mediator.Send(command, cancellationToken)));
 }